
可能需要由深入研究游戏优化的图形专家彻底研究此问题。我仍然是学生,所以让我们从理论上进行讨论。
我们首先要确定的是核心入住率。打开Win10的任务管理器,您可以看到CPU和GPU的占用情况。我不知道Win10会使用哪种方法进行计算,但是根据《现代操作系统》一书中的定义-假设进程正在等待IO内存中执行时间与执行时间之比为P。内存中有N个进程,因此N个进程正在等待IO的概率为P ^ N,则:

CPU利用率= 1-P ^ N。
可以看出,以此方式定义的CPU利用率的计算基础是CPU是否正在执行-只要内存中有不等待IO的进程,则将CPU负载视为是100%。实际上,CPU利用率是一段时间内工作时间的百分比。

换句话说,用任何编程语言编写一个无穷循环可以达到100%的CPU使用率。这是一个非常有趣的问题。假设我们有8G内存,操作系统占用2G,每个进程占用2G。然后,我们可以运行3个进程。假设每个进程等待IO的比例为80%,则CPU利用率为:
1- 0. 8 ^ 3 = 50%

如果我们有16G内存,那么程序中可以运行的进程数可以增加到7,CPU利用率可以增加到80%。
当然,这是最简单的单核模型,但是这个结论仍然可以肯定:内存越大,同时运行的程序越多,CPU利用率越高。 (当然,这也可以说是胡说八道,毕竟,运行N个以上的程序当然可以提高利用率。)

因此,我们可以考虑图形卡的占用率。如果还使用上述方法来定义图形卡的占用率,那么解决此问题的关键在于图形卡的计算时间与等待时间之比。
对于图形卡,图形卡的“ IO”是CPU的DrawCall。 CPU打包模型,纹理和材料,然后将其从内存发送到图形卡,并告诉图形卡如何渲染它们。通常将其发送到视频存储器,并且有一个相应的命令队列。这里涉及一些优化,因为如果DrawCall太多,则CPU将忙于提交,并且没有时间来计算游戏中需要CPU计算的任务。在这里,批处理通常用于打包一些数据,然后立即提交以减轻CPU负担。
因此,从这个角度来看,显卡占用率低的原因是CPU,内存和视频内存的带宽。
当然,这纯粹是从理论上讲,实际情况必须非常复杂,我不知道发生了什么。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shenmilingyu/article-318189-1.html
以战止战吧