其实,gpu没被用满是cpu处理不足的原因,这点在多核处理器上不很明显
虽然cpu占用只有50%,而且似乎每个内核都没用被占满,但实际上是由于程序的线程数少于处理器内核数,或是线程密度分配不够均匀造成的。这种时系统在可能的情况下会将处理器时间分配在各个内核上(主要是防止单个核心负担过重,发热不均匀,),但某些情况这种分配是做不到的,会出现单个核心占满的情况
但即使线程是分配到了不同核心,但效能一般不能随核心数成比例增加,例如pcsx2(ps2模拟器,按双核心优化)在双核处理器上一般能跑满cpu,但在4核上则是50%左右,不会超过60%
有一个简单的方法试验程序是否是由于线程问题造成运行效率低下,即在任务管理器中手动设置处理器关系,减少程序占用的核心数,如果这样做没有降低程序的运行效率,则说明程序对于多核心优化不够