为所有应用程序设置默认处理器关联

Nov*_*ode 6 cpu affinity

我正在尝试提高游戏中的 CPU 性能,为此我想尝试为其提供 2-4 个仅运行该应用程序的 CPU 核心,而不运行与 Windows 相关的服务。我可以在其中为所有应用程序、服务、进程等设置默认关联性吗?在计算机上,所以核心实际上根本没有被使用?

小智 6

在 powershell 中:

$instances = Get-Process
foreach ($i in $instances) { $i.ProcessorAffinity=1 }
Run Code Online (Sandbox Code Playgroud)

将使大多数进程在第一个核心上运行(任务管理器中的核心 0)。是的,对于它无法更改亲和力的进程,它会抛出很多“访问被拒绝”错误。忽略它......其余的都有效。

然后手动或使用命令将您的游戏设置为所需的核心,例如:

(Get-Process -name doom).ProcessorAffinity = 14
Run Code Online (Sandbox Code Playgroud)

将“doom”游戏设置为在 4 核 CPU 上的剩余 3 核上运行。


Kel*_*ari 1

这可以通过大量体力劳动来部分完成。您可以通过任务管理器或命令行设置处理器关联性。请参阅这篇文章了解如何操作。不幸的是,这种方法不适用于服务。

但是,我不认为这会对您有太大帮助。在游戏中,操作系统并没有对 CPU 执行太多操作。当然,这是假设您没有同时执行其他任务,但您不会同时执行其他任务,因为您正在抱怨性能。玩游戏时你的所有核心都达到 100% 了吗?我会怀疑。您的性能损失很可能不是 CPU 限制,而是其他原因,例如图形和/或磁盘。您需要运行性能监视器(如 Windows 的 perfmon)才能真正了解是什么拖慢了您的速度。