我用 c++ 开发了一个程序,当我在 windows XP 中运行它时,它使用所有可用的 CPU 到 100% 的使用率,但是当我在 windows 7 中运行应用程序时,即使将任务设置为,应用程序也很难达到 40%任务栏中的实时或高优先级有一种方法可以强制操作系统让我的应用程序使用最大可用 CPU,就像我的代码中的 winXP 一样。我的意思是 API 或库之类的东西。
问问题
972 次
3 回答
3
这很可能是因为您拥有多个核心。为了使用 100% 的 CPU,您可能需要创建多个线程。
于 2012-04-04T21:30:24.613 回答
0
如果您的应用程序使用任何类型的 IO,并且该 IO 在 XP 中出现问题(驱动程序错误和/或其他原因),则可能会导致您的应用程序完全旋转 CPU。
7 在这些方面可能会得到更好的优化,因此它可以释放 CPU,直到慢速(磁盘、网络)的东西完成。
于 2012-04-04T21:36:13.500 回答
0
此外,取决于该线程在做什么以及它在处理器上花费时间的频率(睡眠、对象等待)可能是一个因素,但 MK 几乎为您总结了这一点。你也可以看看这里:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms686277%28v=vs.85%29.aspx
于 2012-04-05T02:07:40.827 回答