● 化波动为性能
半导体电路虽然设计千差万别,能耗状态也各不相同,但以一个架构自身而言,大体上都还是遵循“干了多少活就耗了多少电”这样的原则。不精确但通俗的理解,我们可以把显卡的满载功耗看做是显卡内部单元进行最佳动作时的功耗。对于没有EDA缺陷等干扰因素存在的架构来说,如果能够以达到设计功耗的状态进行运作,那么它基本上也就达到了设计者希望达到的最佳的性能。
每一款不同的游戏程序/应用因为各自不同的编程特点和玩家进行游戏时的状态,而在不同构架的显卡上反映出不同的负载或者说GPU使用情况,这种GPU负载的不同,归根结底是GPU构架的单元复用率以及程序对硬件不同组元使用率差异造成的欠载所导致的。这些无法避免的欠载,会让GPU在绝大多数场合都不会运行在设计功耗数值之上。于是,我们在一般显卡产品中就会看到不同游戏甚至不同游戏形式所导致的显卡实际功耗不同的现象。
当构架设计完成之后,构架的诸如单元复用率之类的特性也就随之凝固,游戏程序及应用程序在编写完成之后也要面临对不同构架使用情况发生凝固的情况。既然我们无法改变构架的单元复用率,也无法实时的修改游戏对GPU的单元使用情况,同时两者的矛盾已经已经被体现在了实际运行功耗与设计功耗之间的差异上,那么增大整个构架的运行频率,善加利用实际功耗与设计功耗之间的差值空间来获得更高的总执行能力,就成了提升性能以及解决单元复用率不足矛盾的最好办法了。
通过对GPU实时运行状态的监控,我们可以发现GPU Boost在不改变GPU占有率的前提下动态实时的调节了GPU的运行频率。如果某个是时刻显卡的功耗因为欠载而可能出现帧数下降或者并未表现出最佳帧数时,欠载所导致的功耗下降就会被传感器检测到,GPU Boost便会介入并抬升GPU的运行频率,以便将欠载功耗同设计功耗之间的差值转化成性能,在不让实时运行功耗超过设计值的同时尽量阻止帧数下滑或者让帧数达到更高的水平。
因此,我们在测试中观察到了具备GPU Boost的NVIDIA显卡在大部分测试中都可以保持均一且相对稳定的贴近设计满载功耗的实际功耗表现,而AMD以及不具备GPU Boost的NVIDIA显卡则会有更大的实际功耗“起伏”,在不同游戏中表现出了差异较大的功耗水平,甚至还会出现突破furmark满载功耗的情况。常规显卡的这种起伏,被GPU Boost成功的转化成了性能。