我正在使用 Visual Studio 2013 编写 C++ 应用程序。该应用程序遍历图像以执行一些复杂的分析。为了测试代码效率,我运行分析(比方说)100 次,看看需要多长时间。然后我修改代码,重新运行测试,看看性能是否有所提高(或降低)。
问题是,虽然我有一个强大的 4 核 i5(具体来说是 i5-4200U @ 1.6 GHz)和大量 RAM,但总体 CPU 利用率从未超过 30%。我的过程似乎从未超过 29.5%。我已经尝试将我的应用程序的优先级设置为“高”(使用 SetProcessPriority),但这没有帮助。磁盘和网络访问为零,全部在内存中(还有大约 5GB 的备用内存)。
这是 Windows 8.1 的一些 secret 设置(以保持性能)吗?我可以通过编程方式或通过某些控制面板小程序更改它吗?
最佳答案
那么,如果您的应用程序(很可能)只在一个内核上运行,因为您没有使用线程,那么您如何期望它使用 100% 的 CPU?
30% 略高于一个内核的使用率 (25%),因此几乎可以肯定您没有在此处使用线程。
关于c++ - 最大 Windows 8.1 CPU 使用率 <= 30%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28927574/