Windows 8.1 CPU 利用率从未超过 30%

Windows 8.1 CPU 利用率从未超过 30%

我正在使用 Visual Studio 2013 编写一个 C++ 应用程序。该应用程序遍历图像进行一些复杂的分析。分析速度不是特别慢,但为了测试代码效率,我运行分析(比如说)100 次,看看需要多长时间。然后我修改代码,重新运行测试,看看性能是否有所改善(或下降)。

问题是,虽然我有一台强大的 4 核 i5(具体来说是 i5-4200U @ 1.6 GHz)和足够的 RAM,但总体 CPU 利用率从未超过 30%。我的进程似乎从未超过 29.5%。我尝试将应用程序的优先级设置为“高”,但这没有帮助。没有磁盘和网络访问,全部在内存中(还有大约 5GB 的内存可用)。

这是 Windows 8.1 的某个秘密设置,用于限制进程占用的 CPU 数量(以保持性能)吗?我可以通过编程或某些控制面板小程序更改它吗(也许设置更高的 CPU 使用率限制)?

答案1

您的应用程序很可能是单线程的。因此它只能使用一个 CPU 核心。
由于您有 4 个 CPU 核心,因此它使用了 1/4 的 CPU,也就是大约 25%。

为了 100% 使用 CPU,你需要修改应用程序以使用多线程(如果可能的话)。并非所有问题都可以用多线程方式解决。所以这取决于你实际在做什么。

相关内容