似乎两家最大的GPU制造商都在不断发布更新的驱动程序,这些驱动程序在这里和那里的性能都有很小的提高。如果他们是同一款游戏,我敢打赌,随着时间的推移,它们的总和会增加。
考虑到这一点,为什么我们从来没有听说过AMD或Intel会针对特定的应用程序或Windows版本对CPU驱动程序进行调整?
首先,有时会发布某个驱动程序补丁,这可能会提高某个CPU的性能或效率。但是显然您是在问这个问题,因为它并不常见。但是,CPU驱动程序优化的概念在概念上是相似的。
GPU是非常复杂的电路。存在分担某些需要很长时间才能在CPU上完成的任务的任务。他们接收数据集,以及有关如何处理该数据的说明。GPU必须能够以一种可管理的方式对数据进行排序,并解释指令以指示要执行的操作。然后,它必须对数据执行一系列数学运算。之后,它必须再次对数据重新排序,并在完成后将结果发送回操作系统。这是对计算机图形流水线的非常简单的描述。在为程序准备好数据之前,必须执行多个步骤。
现在,由于GPU必须接受指令集并在硬件中实现非常复杂的数学运算,因此已知某些东西在此管道中运行得更快或更慢。为设备编写驱动程序的一部分是解释发送给设备的数据和指令,并对其进行翻译,以便设备可以理解它。当驱动程序执行此操作时,它可以决定如何将数据发送到设备,以便任务将花费最短的时间。但是,驱动程序通常没有太多有关其正在执行的程序的信息。它从程序接收的全部是API调用(“画线”,“为点着色”,“阴影三角形”等)。因此,它可以做出的假设不是很好。
当AMD或nVidia发布包含特定游戏性能改进的驱动程序更新时,这意味着驱动程序将检测到哪个游戏正在调用图形硬件,并具有一系列关于游戏方式的硬编码假设实施的。游戏可能有很多纹理图像需要快速调入和调出内存,也可能是它在运行中进行了很多颜色融合以产生特定的照明效果。通常,游戏会执行实现描述如何执行这些计算的小程序(称为“着色器”),并将其发送到GPU来执行。如果驾驶员知道游戏如何使用硬件,则它可以组织数据并选择以增加吞吐量和效率的方式执行所需任务的指令集。
但是,有时在产品交付后,可能会在GPU的某些部分中发现错误。在设计芯片时,它可能已经模糊不清,无法在验证中被遗漏,但是可能会发现,在击中该芯片的特定游戏中,它会导致某些错误或不良行为(甚至崩溃)。在那种情况下,驱动程序将检测此错误状态并加以解决,方法是将一些计算分流到CPU端,或者更改将数据提供给GPU的方式,以使其不进入此状态。这些将再次以驱动程序更新的形式发布。
因此,从根本上说,这并没有改变硬件本身的性能,只是改变了硬件的使用方式,因此它可以更高效,更快速地对同一组数据进行操作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句