似乎两大GPU制造商不断发布更新的驱动程序,这些驱动程序在这里和那里都有小的性能提升。当他们在同一场比赛时,我打赌它会随着时间的推移而增加。
考虑到这一点,为什么我们从未听说AMD或英特尔调整某个应用程序或Windows版本的CPU驱动程序?
似乎两大GPU制造商不断发布更新的驱动程序,这些驱动程序在这里和那里都有小的性能提升。当他们在同一场比赛时,我打赌它会随着时间的推移而增加。
考虑到这一点,为什么我们从未听说AMD或英特尔调整某个应用程序或Windows版本的CPU驱动程序?
Answers:
首先,有时会发布驱动程序补丁,这可能会提高某个CPU的性能或提高效率。但显然你问的是这个问题,因为它并不常见。但是,CPU驱动程序优化的作用与概念类似。
GPU是一个非常复杂的电路。存在卸载某些需要很长时间才能在CPU上完成的任务。它们接收数据集以及如何处理此数据的说明。GPU必须能够以可管理的方式对数据进行排序,并解释说明以告知其要做什么。然后,它必须对数据执行一系列数学运算。之后,它必须再次对数据重新排序,并在完成后将结果发送回操作系统。这是对计算机图形管道的非常简单的描述。在为程序准备好数据之前,必须执行多个步骤。
现在,由于GPU必须接受指令集并在硬件中实现非常复杂的数学运算,因此已知某些事物通过此管道运行得更快或更慢。为设备编写驱动程序的一部分是解释发送到设备的数据和指令,进行翻译以便设备可以理解它。当驱动程序执行此操作时,它可以决定如何将数据发送到设备,以便任务将花费尽可能短的时间。但是,驱动程序通常没有关于它所服务的程序正在做什么的非常多的信息。它从程序中收到的只是API调用(“画一条线”,“颜色一点”,“阴影三角形”等)。所以,它可以做出的假设并不是很好。
当AMD或nVidia发布包含特定游戏性能改进的驱动程序更新时,这意味着驱动程序将检测到哪些游戏正在调用图形硬件,并且有一系列关于游戏如何知道的硬编码假设实现。可能是游戏中有很多纹理图像需要快速换入和换出内存,或者它会在运行中进行大量颜色混合以产生某些光照效果。通常游戏将实现的是实现描述如何执行这些计算的小程序(称为“着色器”),并将其发送到GPU执行。如果驾驶员知道游戏如何使用硬件,则它可以组织数据并选择以增加吞吐量和效率的方式执行所需任务的指令集。
但有时,在产品发布后,可能会在GPU的某些部分发现错误。在设计芯片时,可能会在验证中错过足够的模糊,但可能会发现它会导致特定游戏中的某些错误或不良行为(甚至崩溃)。在这种情况下,驱动程序将检测此错误状态并解决它,通过将一些计算卸载到CPU端或更改它将数据提供给GPU的方式,以便它不会进入此状态。这些将再次以驱动程序更新的形式发布。
基本上,它并没有改变硬件本身的性能,它只是改变了硬件的使用方式,因此它可以在同一组数据上更高效,更快速地运行。
“CPU驱动程序”很少存在,当然也不是可加载的模块。对于多核控制或中断处理的某些变化,偶尔需要“CPU驱动程序”(例如,AMD双核需要WinXP驱动程序才能完全利用)。否则,大多数操作系统都配置和构建为直接访问CPU。如果出现问题并且严重,则会修补内核代码并发布内核更新。
GPU不再只是外围设备了; 他们已经发展成为协处理器。“GPU驱动程序”不仅提供设备访问,还包括驱动程序中打包的GPU的处理算法(即图形子程序)。这些“司机”的大小是赠品/线索。这些算法/子程序正在改进中。
它不仅仅是驱动程序,而是GPU本身。GPU专门用于各种类型的计算(例如FFT)和存储器操作。它可以在大多数给定任务上并行工作,并使其比通用CPU更有效。
通过更好地了解正在运行的程序,您可以优化此程序的内存操作或计算过程。GPU在如何进行计算和执行内存操作方面非常通用,因此仍然需要编写完美的固件或驱动程序。;)有很大的改进空间。
大多数其他设备的用途并不多见。PC上的大多数硬件必须按照规范运行,遵循协议,因此不需要优化驱动程序。
A,忘了CPU。> _ <可以优化CPU。大多数新的CPU型号都有可编程固件,但性能提升并不值得。它仅用于纠正硬件构建过程中的错误。