为什么要求严格的流程不使用其他核心?

为什么要求严格的流程不使用其他核心?

我有一台较旧的 Core i5 笔记本电脑,有时会玩 Dota 2 游戏。这对我的处理器要求很高。但当我退出游戏并查看系统资源图表(在 Taks Manager 中)时,发现处理器使用率一直保持在 50%。

为什么这个要求高的过程不在另一个没有用处的核心上运行?

谢谢。

答案1

尽管多核处理器已经存在了一段时间,但许多应用程序并未利用 SMP(对称多处理)。这可能是因为在设计和调试中,尝试利用 SMP 会带来复杂性。维基百科解释

...当单线程完成所有繁重的工作,或者无法在多个核心之间均匀平衡工作时,多核架构对于应用程序来说没有什么好处。

编写真正的多线程代码通常需要复杂的线程协调,并且由于线程间共享数据的处理交织在一起(线程安全),很容易引入难以发现的细微错误。因此,当此类代码出现故障时,其调试难度远高于单线程代码。

Dota 2 与许多游戏一样,似乎是没有利用 SMP 的应用程序之一。

答案2

您是否看到单核处理器使用率达到 50%?在 Windows 上,您可以设置亲和力如果设置了该选项,则告诉 Windows 将进程保留在一个或多个特定核心上。也许您正在运行的一个或多个进程都设置了该选项。

相关内容