Windows 10 进程调度程序已更改?为单线程游戏设置单进程亲和性会导致游戏严重滞后

Windows 10 进程调度程序已更改?为单线程游戏设置单进程亲和性会导致游戏严重滞后

在我玩这个游戏时,这种情况并没有发生,所以这似乎是由于 Windows 10 中的更新造成的。为游戏分配四核上的单核亲和性,甚至会使标题屏幕变得非常滞后。2、3 或 4 核都可以正常运行。这款游戏早于多核处理器,专为单核、德军总部敌区而设计。有没有关于更新中这种奇怪的调度程序行为的文档?谷歌搜索没有找到任何直接相关的内容。

附注:与任务管理器不同,在任务管理器中设置单核亲和性是有效的,而设置兼容性垫片 SINGLEPROCAFFINITY 实际上会在__COMPAT__运行程序时在环境变量中变为 INSTALLER,并且不会分配单核。我顺便提一下,因为这可能与 Microsoft 如何改变调度工作方式有关。

我没有用其他任何东西测试过,因为我确信这是微软造成的,而不是我的努力。除非它是我测试时留下的,我制作了一个清单 xml 文件,并用 mt 实用程序安装了它,我已经删除了它,但可能还留在 Windows 内部。我找不到任何实用程序来调查/删除已安装的清单。

答案1

这里有两件事:

1) 仅仅因为您告诉 1 个线程使用 1 个处理器……并不意味着其他所有线程都被告知不要使用同一个处理器。

2)只是因为你思考该游戏早于多核处理器出现,因此无法实现多线程,这是错误的。

我认为您更有可能遇到 GPU 加速问题...(或缺乏对游戏引擎的支持)id Tech 3 引擎需要 OpenGL 支持,而且更有可能的是所有 OpenGL 内容都在软件中模拟...并且由于该过程被锁定在单个 CPU 核心上,所以这会很糟糕。

我非常怀疑微软的调度程序在这种情况下存在错误。

相关内容