1浪费电力与性能不足并存的悲剧……
该死,这GeForce GTX 680怎么看怎么别扭,要是真弄来一块的话,幕府全战2才能跑30帧,地铁2033甚至都跑不到20帧,H.A.W.X 2却可以跑小200多帧,还有一大票随便接近100帧然后跑到画面破裂的游戏,这太蛋疼了吧,这到底算是性能不足还是性能过剩啊?
PC游戏业界现在是一个充满了矛盾、困惑和围城感的地方,眼中只有技术进步的游戏开发商会尽一切可能将硬件压迫到极限,而以赚钱为己任的其他人则会因为照顾低端配置而对特效使用进行削减。我们无意评判他们的好坏,但这样的现状导致了一个非常实际的问题:一块高端甚至旗舰级的显卡,可能同时产生帧数勉强够用以及绝对过剩两种截然相反的结局。
对于大多数旗舰级显卡,H.A.W.X 2绝对是一个性能过剩的游戏
如果以随便就跑1.200帧的H.A.W.X 2来看,GeForce GTX 680这种东西是绝对过剩而且没有出现的意义和必要的。但与此同时,Crysis2/BF3以及幕府全战之类游戏的存在恰恰又对前面那个没意义到根本不该出现的家伙提出了迫切到甚至是欲求不满的需求。不买它吧,很多游戏玩不了,买了它吧,好多电就这么白白的被浪费了,这要怎么破……
答案也许出乎意料——我们最近经常面对的被用来榨取“性能水分”的GPU Boost功能,可以“反过来”被用来帮助我们解决眼下这个性能过剩导致新的围城问题。
2围城怎么破?
● 围城怎么破?
其实我们纠结的问题核心并不复杂。我们渴望在画面强力的游戏中获得足够流畅的帧数,又不希望在画面不那么强力的游戏中面对远远高于流畅需求的帧数,所以我们想要获得的其实是一种平衡的状态而已。有没有一种办法能够让强力的旗舰级显卡在性能过剩时不那么“犀利”,可以稍微收敛一点帧数和性能呢?
解决画面撕裂问题才是垂直同步的任务,节能这事它并不在行
垂直同步似乎可以达成削减帧数的目的,但垂直同步本质上是一种用来解决画面撕裂问题的手段,它所做的只是将渲染完成的画面进行排序,并放弃掉超过60帧速率以外的特定时间间隔上出现的画面。在垂直同步开启状态下,显卡虽然每秒只输出了60帧画面,但它所渲染的画面其实并没有大量减少,原本被浪费的电力,实际上大部分还是会被浪费掉。
也许你觉得开启垂直同步的暗黑3并不费电,但实际上功耗测试没差多少
想要真正减少显卡在性能过剩时的浪费问题,我们要做的事应该是限定显卡每秒所渲染的画面数量——太多动作是非必要动作的话,我们不让它做那么多非必要动作不就好了?而要达成这个目的,我们可以选择减少显卡的获取的任务总量,或者减少显卡在单位时间内能够完成任务的能力。更直接一些说的话,就是我们要么把发给显卡的画面砍掉,要么降低显卡的性能。
GPU Boost是这么干的么?
3GPU Boost的反向调节
● GPU Boost的反向调节
在前一期的GPU炼金试验室当中,我们已经深入的接触了GPU Boost功能的性能向应用。在常规情况下,GPU Boost可以将实际运行功耗与设计功耗上限之间的空间榨取出来转化成性能,让NVIDIA显卡能够在不超过设计功耗上限的前提下表现出更高的性能。那么在面对性能过剩,比如说我们前面提到的那些动辄可以跑到100帧的游戏时,GPU Boost能起作用么?
GPU Boost可以充分利用实际功耗与TDP的差值空间
作为一种综合的功耗/性能管理手段,GPU Boost完成的工作不仅仅是对功耗空间内蕴藏性能的榨取,它可以在功耗和性能两端完成转化。当显卡运行在距离规定的功耗上限还有一定距离时,GPU Boost可以把这部分功耗转化成性能。而当显卡运行在超过玩家需求性能以上的性能状态时,GPU Boost还可以把这部分性能反向转化成节约的功耗。
我们对于性能的需求,最终都可以以帧数的形式直观的反映出来。用显卡玩游戏不同于做学术,没人会说“我需要33.6M Triangles以及629T SP Flops每秒、单元复用率88.67%以上的实时性能”。在普通人看来,“嗯,我觉得这个游戏只要能跑40帧就挺流畅的了”这样的才算是正常的术语。所以当我们遇到性能过剩时,通常冒出来的想法都是“100帧太多了,要是能让显卡时时刻刻都处在游戏帧数40帧的性能就好了”。这样的愿望在过去很难得到满足,我们最多只能在垂直同步的帮助下聊胜于无的节约个十几瓦特的功耗,而GPU Boost功能出现之后,情况改变了。
既然我们对性能的诉求可以以帧数的形式来反映,那么GPU Boost的作用可以这样通俗的描述:如果你觉得正在玩的某款可以跑到120帧的游戏实际上只需要40帧即可满足流畅的需求,GPU Boost可以帮助你让你的显卡时时刻刻都处在只能输出40帧游戏帧数的性能等级上,而这样的性能等级显然不需要让显卡耗费接近设计上限的功耗。
GPU Boost真能这么玩?老规矩,我们还是“游戏测试见真章”吧。
4测试平台一览
● 测试平台一览
为了满足测试条件的均一性,我们测试使用的硬件平台依旧由Intel Core i7-3960X、X79 Chipset和4GB*4四通道DDR3-1600内存构成。细节及软件环境设定见下表:
测 试 平 台 硬 件 | |
中央处理器 | |
Intel Core i7-3960X | |
(6核 / 12线程 / 100MHz*33 / 15MB L3 Cache ) | |
散热器 | |
Intel RTS2011LC | |
(原厂水冷散热器 / 选配件 ) | |
内存模组 | |
Samsung 黑武士 DDR3-1600 4GB*4 | |
(SPD:9-9-9-24-1T) | |
主板 | |
ASUS Rampage IV Extreme | |
(Intel X79 Chipset) | |
硬盘 | |
Hitachi 1T | |
(1TB / 7200RPM / 16M 50GB NTFS | |
电源供应器 | |
NERMAX 白金冰核 1500W | |
(CSCI Platinum 80Plus / 1500W) | |
显示器 | |
DELL UltraSharp 3008WFP | |
(30英寸LCD / 2560*1600分辨率) |
为保证系统平台具有最佳的稳定性,此次硬件评测中所使用的操作系统均为Microsoft Windows 7 正版授权产品。使用Windows 7正版软件能够获得最好的兼容性以及系统升级更新服务。
用户在体验或购买安装Windows 7的操作系统时请认准所装系统是否已经获得正版授权许可!未经授权的非正版软件将无法获得包括更新等功能在内的Windows 7服务。
桌面环境
操 作 系 统 及 驱 动
操作系统
Microsoft Windows 7
Ultimate RTM SP1
(64bit / 版本号7601)
主板芯片组驱动
Intel Chipset Device Software
for Win7
(WHQL / 版本号 9.2.3.1022)
NVIDIA 显卡驱动
NVIDIA Forceware
(Beta / 版本号 306.38)
2560*1600_32bit 60Hz
5节能100余瓦,定帧游戏功耗实测
我们本次选择的测试对象游戏是Dirt3以及蝙蝠侠:阿克汉姆之城,在我们既往的多次测试里,GeForce GTX 680在这两款游戏中均可以在1920分辨率下达到接近甚至超过100帧的性能水平,而这样的性能水平所导致的功耗数据也是可以测得的。
上期GPU炼金试验室中完成的2560分辨率GeForce GTX 680实际功耗测试
100帧的帧数对于大多数人而言都是过剩无疑的,如此高的帧数对流畅度改善毫无意义,显卡却需要为了输出这样的帧数率而维持极高的性能,进而产生更多的功耗,从实用角度出发,这显然是一种该死的浪费。所以,我们决定将游戏的运行帧数限定在一个较低但却同样可以保持流畅的水平上,并再行测试显卡在运行时实际功耗。透过EVGA提供的PrecisionX软件,我们成功的将两款游戏的运行帧数限定在了40帧并完成了功耗测试。
1920分辨率下GeForce GTX 680不同运行状态功耗数据
无论Dirt3还是蝙蝠侠:阿克汉姆之城,GeForce GTX 680在限定运行帧数为40之后的功耗都有了非常明显的下降,平台整体功耗在两款游戏中都有了超过100W的降幅,其幅度几乎与“性能的下降”完全成比例。GPU Boost究竟是如何做到这一点的呢?
6GPU Boost动作记录
● GPU Boost动作记录
GPU Boost对于性能和功耗的管理,本质上是透过实时的对运行频率进行调节来完成的。当不限制运行性能时实时运行功耗出现空档时,GPU Boost将功耗空间转化成性能的手段是抬升频率,而当性能超过需求时,GPU Boost约束性能同时节约功耗的手段同样是调节频率。
GeForce GTX 680默认状态运行Dirt3参数记录
为了直观的给大家展现这一过程,通过EVGA PrecisionX软件的实时监控功能,我们分别记录了GeForce GTX 680在默认状态以及限定帧数40帧运行时的运行状态,结果如本页图示。
GeForce GTX 680定帧40状态运行Dirt3参数记录
当我们不做任何帧数限定时,GeForce GTX 680在两款游戏中的实时帧数均在1071MHz附近小幅波动。而当我们将游戏运行帧数限定在40帧时,随着游戏的执行,GeForce GTX 680在Dirt3中的核心运行频率会在784~1006MHz之间波动,显存频率亦然;蝙蝠侠:阿克汉姆之城中的运行频率则会在679~888MHz之间波动,偶有回升至1006MHz,最低甚至可以降到不足600MHz,显存频率保持默认不变。
在此基础上,GPU Boost还调节了显卡的运行电压,Dirt3中的核心电压会在0.978V~1.125V之间动态调整,最高1.175V,蝙蝠侠:阿克汉姆之城中的核心电压大部分时间维持在默认的0.987V,偶有提升至1.175V。
GeForce GTX 680定帧40状态运行Dirt3参数记录
得益于这些调节,除了功耗的下降之外,GeForce GTX 680在运行这两款游戏时的温度也有了大幅下降,在Dirt3中,其运行最高温度从正常的81度下降到了71度,而蝙蝠侠:阿克汉姆之城则从79度下降到了62度。同时,由此带来的风扇转速下降同样明显。
7“变过剩性能为节约功耗”
● “变过剩性能为节约功耗”
在过去的测试中,我们反复强调着GPU Boost的意义——当构架设计完成之后,构架的诸如单元复用率之类的特性也就随之凝固,游戏程序及应用程序在编写完成之后也要面临对不同构架使用情况发生凝固的情况。既然我们无法提升构架的单元复用率,也无法适时修改程序对单元的使用情况,同时两者的矛盾又被体现在了实际运行功耗与设计功耗之间的差异上,那么增大整个构架的运行频率,善加利用实际功耗与设计功耗之间的差值空间来获得更高的总执行能力,就成了提升性能以及解决单元复用率不足矛盾的最好办法了。
对应的,对这一过程进行的反转,就是GPU Boost控制功耗并将过剩性能转变成功耗节约的实现手段和本质。
比拼最大性能并浪费大量能源实际上意义不大
通常情况下,我们不会对硬件的执行力加以束缚,所以当我们的硬件执行游戏时,绝大多数时候都会以单元复用率允许的最高单元运动频率去执行游戏代码。如果这种情况下显卡的总执行能力远远大于流畅帧数所需要的性能,新的一组矛盾也就是性能过剩+无用的高功耗的矛盾就凸现出来了。我们无法降低架构的单元复用率,也无法实时的改变程序来让它“尽量少用一些单元”,所以要避免性能过剩以及由此带来的功耗过高,达到节能甚至是“定制/DIY功耗”的效果,就要通过合适的手段来限制架构的总执行能力了。
与提升性能方向的动作方式相同,当玩家限定了游戏的运行帧数之后,GPU Boost会根据限定的性能动态的调整频率,以便让显卡处在“刚好能够达到帧数需求”的较低的性能水平或者说执行能力之上。通过这一转化,GPU Boost不仅可以将过多的帧数消去,让玩家自行决定适合自己的游戏运行状态,还可以将原本过剩性能所导致的功耗被一并消去,达到节能降温的目的。即便是旗舰级的GeForce GTX 680,现在也可以在游戏中实现较低级显卡才拥有的功耗、温度和性能状态了。
限定运行帧数时天堂3.0运行状态记录
将功耗和性能结合成一个平衡的过程,通过对平衡过程某端的要素进行实时动态调整来达到改善另一端表现的目的,这就是GPU Boost的作用。当我们需要补偿单元复用率同游戏编程方式不同带来的性能损失,同时又不希望显卡运行功耗超过安全范围时,它可以利用调整功耗端来让我们收获默认以外的性能。而当我们需要砍掉过剩性能时,GPU Boost又可以通过对性能的调节来归还功耗。
于是,纠结的围城问题就这么被解决了。
8性能功耗比不单纯意味着省电
● 性能功耗比不单纯意味着省电
我们决定使用一个最简单直接的词来描述GPU Boost功能,那就是丰俭由人。当你需要高性能时,GPU Boost可以自动为你提供高性能,而当你需要低功耗时,GPU Boost同样可以自动为你减低功耗。一切决定,只因为你的需求而已。
GPU Boost对于功耗/性能的管理是一个存在“目标”的平衡过程,性能和功耗处在平衡的两端并且相互对应。如果我们要收获一端的结果,GPU Boost便会根据一个既有的目标和一定的规则对平衡的另一端进行调整。这种手段不仅让我们了解并理解了GPU Boost的动作原理,更为我们传达了下面这个问题的答案。
什么,才是强调性能功耗比的意义?
强调性能功耗比并不是简单意义上的省电,也不是单纯的突出每瓦特性能,它是一种对平衡状态的控制,一种可以在性能与功耗两端任意游走的过程。对于一款强调性能功耗比属性的产品来说,除了可以以尽可能少的功耗提供更多的性能之外,它还应该能够以更丰富的形式达成性能和功耗的平衡——当我们需要高性能时,产品可以提供同功耗状态下最高的性能,而当我们不需要过高性能时,产品同样可以降低“过剩”功耗。这种对功耗和性能状态的平衡控制才是强调性能功耗比的真正含义,如果单纯强调某一侧,无论是哪一侧其实都是不正确的。
单纯突出每瓦特性能并不是强调性能功耗比的表现
传统的功耗管理手段,包括各种2D状态下的节能降频以及P-State的划分,实际上都是达成平衡以及强调性能功耗比动作的初级形态,它们可以按照使用者的使用环境简单的将显卡划入低中高等不同负载状态下,但却没有办法应付“有性能需求但性能需求不高”这样前提下显卡的性能与功耗的平衡。GPU Boost技术的本质,实质上就是对这些初级形态的扩展。
GPU Boost实现了许多突破,它首次将性能以帧数的形式直接表象化,完成了性能与功耗之间快速实时的无缝转化,将决定权交给了使用者,同时弱化了决定要素并将控制过程黑箱化。作为用户,我们只需要知道自己是否需要肆无忌惮的发挥显卡的性能,如果是,我们可以直接享受到比过去更高的性能,如果不是,我们也只需确定我们需要的帧数,剩下的事情都可以交给GPU Boost来完成。
目前只有PrecisionX等少数几款软件可以实现定帧功能
当然,目前的GPU Boost并非十全十美,它还有许多需要补充和完善的地方。比如说NVIDIA并未在驱动中开放限定帧数的选项,只有极少数第三方软件被允许使用目标帧数限定来达成完整的GPU Boost功能。关闭GPU Boost的选项同样没有被开放,我们无法获得真正的控制权。某些游戏中,帧数限定功能还会导致帧数瞬间跌落问题。相信在未来,该项技术将会得到进一步的完善和提升。
关于GPU Boost功能直接表现的测试已经结束了,但这并不意味着与之相关的测试就会停止。我们在这两期GPU炼金试验室栏目中进行的测试更多的是向大家传递GPU Boost功能所带来的结果,而导致这些结果的许多原因和现象都没有得到系统的解析。
当我们需要高性能时,GPU Boost就会以设计功耗上限为目标和限制条件来调高实际运行功耗,我们所收获的就是平衡另一端的性能。设计功耗上限就是调整过程的目标和基本规则。
而当我们需要低功耗时,GPU Boost依旧做到了调低平衡一端的性能,来让我们收获平衡另一端的功耗,但限制性能时频率的调节的规则,或者说NVIDIA以什么来作为目标限定调节的幅度和动作,这一要素并未被我们当前的测试所探知。在未来的GPU炼金试验室中,我们会继续对其进行更深层次的探讨。
发现GPU本身的诸多有趣现象并探寻这些现象背后所蕴含的耐人寻味的问题及含义,这是我们推动GPU炼金试验室前进的最本质动力。更多的未解之谜正在向我们以及屏幕前同样好奇的您招手,就让我们一起继续去发现、思考并收获吧。
推荐经销商