十年磨一剑:《个人电脑》实验室评测纵横谈
摩尔定律算得上是运算芯片领域的圣经吧,但有一类运算芯片却并不遵循这一定律,这就是3D显示芯片,即GPU(或VPU)。可以说,这些负责计算机图形图像运算的小芯片从来就没有遵从过摩尔定律。在很早很早以前,它们的发展速度远低于摩尔定律所指出的十八个月周期;然而一夜之间,它们的发展速度又大大地超过了这一周期。目前,GPU正以十二个月一周期的速度不断更新,并且这一周期有越来越短的趋势。相应地,3D显示卡的测试方法也在不断更新,测试脚本的更新速度堪比3D显示核心的更新速度。
告别蛮荒时代
就我个人而言,进入显示卡测试领域不算太早。可以说刚好错过了显示卡测试的“蛮荒时代”,在那个只有WinBench的年代,测试方法是我们无法想象的。你能想象到通过主观的判断,来决定一款产品的性能好坏吗?当然,在2D显示卡盛行的年代,性能的定义与现在也不同。在那个还不存在所谓顶点、像素、三角形或是贝塞尔曲线生成的年代里,输出带宽和2D显示质量成了至关重要的性能因素。
当Voodoo吹响了3D显示核心进攻的号角之后,原有的显示卡评测体系瞬间土崩瓦解。这是因为用户的注意力被转移了,同时显示卡的输出带宽、2D画面质量已经足以满足用户需求,不再为用户所关注(在上世纪90年代末期,2D画面质量曾经被用来炒作一些很特殊的概念)。3D时代用户关注的是自己的显示卡到底能让游戏跑多快,到底能启用多少华丽的3D特效。这时,过去的测试方法已经不适用了。可以说,有那么一段时间,所有参与显示卡测试领域的人员,都面临着一大困惑——那就是用什么样的手段来测试新出现的3D显示卡。要知道,那个时候可没有Fraps之类的辅助工具。
3DMark应运而生
id Software在当时给大家提供了一种方式,后来这种方式成了一种业内标准。那就是通过游戏内建的Benchmark功能进行测试。当时,id Software在Quake II中提供了Timedemo命令函数,以该命令来运行事先录制好的游戏Demo视频,游戏系统会返回一个在以Timedemo模式运行该Demo时,得到的平均帧速率。这个数值,成了当时衡量3D显示卡性能的主要标准。至今,该功能一直被保留在以id Software引擎制作的游戏当中。不过遗憾的是,现在这种方式正逐渐地退出主流地位。
3DMark 99的出现,让3D显示卡的测试重新回到了通用基准测试的轨道上。实际上,当年的3DMark测试原理与现在基本相同,同样是通过运行几个不同的Demo,测试出显示卡在不同应用模式下的性能,最终加权计算出3D显示卡的测试成绩。这种方式被保留到了今天,并得到了绝大多数用户和测试人员的认可。不过,由于3D显示卡厂商也会参与到测试软件的开发中去,所以在3DMark进化的历史上,出现过数次所谓的“专属优化”事件,即针对某一厂商的某款产品进行特殊优化,使得该显示卡在基准测试中取得更好的成绩。这种做法算得上是某种程度的作弊。后来,这种极端的方式渐渐被放弃了,取而代之的是各大显卡厂商在推出驱动程序的时候,对3DMark进行优化。虽然如此,但在所有厂商都优化过驱动程序后,大家其实还是站在同一起跑线上的。因此,3DMark在3D显示卡测试领域的权威地位并未受到影响。至今,它仍然是我们测试3D显示卡综合性能的主要手段。
|
在针对3D显卡的测试中,应当采取3DMark这类基准测试与实际游戏测试二者相结合的方式, |
游戏测试:必须的补充
正如前面提到的,3D显示核心的飞速发展,让人应接不暇。对于相应的测试软件来说,也很难跟上3D显示核心的发展。所幸之处是游戏设计厂商推出的一些3D游戏往往需要大规模3D显示卡运算支持,才能得到较好的游戏画面和速度。这样一来,3D游戏就成了3D显示卡测试的一个重要组成部分。前面提到的id Software是这一领域的佼佼者,他们开发的游戏引擎非常适合测试3D显示卡。不过他们习惯于使用OpenGL接口,而不是DirectX接口。因此,仅仅使用id Software的射击游戏来测试显示卡是不全面的。虽然3DMark系列就是基于DirectX的测试项目,但毕竟它与实际游戏运行时有很大区别。于是,在测试过程中,我们又引入了基于DirectX引擎的游戏,用来测试3D显示卡在DirectX游戏下的表现。相对于那些我们熟知的OpenGL游戏测试,基于DirectX的游戏测试就不那么简单了,它们往往仅提供一个简单的性能测试功能,实际上这种测试方法与3DMark并无太大不同。而提供了全面测试功能的DirectX游戏,往往测试起来相当复杂。
首先你要对游戏非常了解才能够选出真正具有意义的测试场景,并进行脚本制作。其后,你才能运行测试脚本得到一个较有价值的测试数据。不断重复运行测试脚本,最后得出的平均数据,才有可能成为最终的测试结果。之所以会变得如此复杂,是因为我们一直在想,是不是有更有效的场景可以用于测试呢?有些时候,我们甚至会用到一些开发者工具(比如PerfHUD或是Render Monkey),来分析游戏、显示卡、驱动的一些具体细节,以及三者协同配合时的表现。这三个要素的反复替换,就是一种工作量极大的挑战。
而基于目前的情况来看,单纯的基准测试,已经无法全面地体现出3D显示卡的全部性能和特性了。在很多时候,我们需要测试3D显示卡在实际运行游戏时的即时性能。这时一款现在十分流行的辅助工具Fraps便成了必不可少的测试工具。它可以即时测试游戏每一秒的运行速度,测试结束后的日志对性能分析十分有利。通常,我们会用它来验证之前通过开发者工具分析得到的结果。
|
DX10游戏带来的华丽特效意味着3D显卡测试再次进化 |
化繁为简的挑战
除去性能之外,以往的2D画面质量进一步转换为3D画面质量和视频回放质量,以及视频回放性能。可以说,以往那种很简单的性能测试,伴随着3D显示卡的不断进化,已经变成了一种浩大的系统工程。为了能够更全面地体现产品之间的独特之处,复杂而周全的测试手段是必不可少的。不过与此相反的,我们在尽量简化呈现给读者数据的复杂程度。虽然详尽的数据能够最直观地表现出产品之间的差异。但是,对于读者来说,冗长的数据列表并不受欢迎,如何合理地利用测试数据也是摆在我们面前的一大难题。好在,历经10年评测洗礼的实验室工程师们,个个都是数据处理能手。
文章列表
评论
楼层 |
评论人 |
评论内容摘要 | 发表时间 |
新品欣赏
![]() | ![]() | ![]() |









