十载图形见证 3DMark历代进化历程回顾(7)
小熊在线
作者:WolStame
介绍:回顾10年历程,我们可以看到3DMark作为一款第三方测试软件在引领实时3D技术的同时也在见证业界的发展历程;在斡旋于硬软件厂商们的斗争的同时还要去树立公正公平的测试标准,这对于FutureMark这家只有2、30个员工的小公司来说实属不易~~
3DMark的孕育
在上世纪90年代中页,整个PC图形界正在酝酿一场“革命风暴”。当时高瞻远瞩的图形厂商看到了游戏市场的巨大利润,但同时也看到了PC图形方面的处理能力与当时热门的PS、SS等游戏机还存在相当的差距,于是PC平台迫切需要强大的图形处理运算能力;而另一方面,游戏界也正朝着3D的方向发展,当时PS等游戏机上已经出现了一批3D游戏,并且深受玩家欢迎。因此,PC的图形处理也迫切需要从2D过渡到3D上。在那个百家争鸣的时代,众多PC图形厂商都纷纷拿出第一代3D显示卡,比如NVIDIA的NV1、Matrox的Mlennium跟Mystique、PowerVR的PCX1、S3的Virge3D等等,当时还冠以“3D加速卡”的美称。不过,这一时期的所谓“3D加速卡”严格来讲只能算是“2.5D”,它们提供的3D加速功能相当原始有限,而且API也都是自家定制的“独门API”,缺乏统一API直接导致各大厂商像一盘散沙、“各施所长”,反到阻碍了PC图形技术的发展。

图:DirectX的演化
直到90年代中后期3DFX的VOODOO、NVIDIA的TNT以及S3的Savage3D等新一代的3D加速卡诞生之后,将游戏从2D转向3D的浪潮推向顶点,人们才开始感受到了图形加速卡的重要。不过那时候API仍以GLIDE3D跟OPENGL为主,今天的API霸主D3D仍然处于艰苦的萌芽阶段。3D API的混乱造成当时各家显卡在不同API游戏里的表现也差距巨大,因此因该购买显卡就成了用户的一大难题,玩家需要一种能够直接反映各显卡性能差异的测试工具,当时市面上虽然有了各种3D游戏,但除了Quake3之外,其他3D游戏的测试功能都很简单;而当时3D基准测试工具(Benchmark)种类还很少,而且只是提供一些简单的特性测试,与实际游戏场景相差甚远,因此要通过游戏或Benchmark体现图形加速卡的真实性能是一件很困难的事情。
直到90年代末期,Direct 3D在经历了几代的更新改革之后,到了DX5已经颇为成熟,加入了雾化效果、Alpha混合等3D特效,使3D游戏中的空间感和真实感得以增强,还加入了S3的纹理压缩技术,但相比GLIDE跟OGL仍缺乏绝对优势。到了D3D 6.0之后,其最大的竞争对手之一Glide走向了没落,而DirectX则得到了大多数厂商的认可和支持。DirectX 6.0中加入了双线性过滤、三线性过滤等优化3D图像质量的技术,游戏中的3D技术逐渐走入成熟阶段。这一时期的TNT2、Savage3D等主流显卡也开始皈依到DX6门下,此时DX才初显一统API江山的王者气息。而就在这个最佳时机,趁着SPEC和ZD两个测试软件大厂商并未在意的时候,高瞻远瞩的Madonion(疯洋葱,后改名为FutureMark)搭上DX6.0,凭借3Dmark 99开始了它的显卡Benchmark之路。

图:FutureMark
处女作——3DMark 99
3D显卡借助DirectX 6.0的崛起而展开了新一轮的激烈的竞争,当时主要代表显卡是3DFX的Voodoo和nVIDIA的Riva TNT系列,同时S3 Savage3D和Matrox G200也有不小的市场份额。DirectX 6.0的特色在于32BIT色深、AGP以及S3TC等技术,不过最重要的是它的到了大多数主流显卡的支持,不在像GLIDE那样一家独大,这也是当时PC图像界所最为需要的“统一标准”。而此时Madonion的第一代3DMark产品以DirectX 6.0 API为基础,在OpenGL与Glide3D横行的年代将Direct3D接口推向高潮。与Quake3游戏偏重于测试OpenGL性能不同,3Dmark99的出现无疑让整个显卡世界发生了翻天覆地的变化。nVIDIA和Matrox的崛起令越来越多的用户开始意识到3DFX的Glide3D已经走向没落,而3DMark的出现也填补了以往缺乏一套客观的性能评价体系的空白。不能说3Dmark99立即成为衡量显卡性能的权威,但是这种以游戏画面替代枯燥测试过程的新颖方式不仅极具创意,而且深受玩家欢迎,其测试结果也的确有着一定的说服力。

图:RACE
很快Madonion就推出了3DMark 99的升级版——3DMark 99 MAX。3DMark99 MAX有两个主要的类游戏场景测试,一个叫“RACE”,这是一个类似3D竞速游戏的测试;另外一个是“FIRST PERSON”,这是一个典型的第一人称射击游戏测试。这两个测试都集中运用了当时各种流行的特效,比如雾化、单周期双重贴图、双线/三线过滤、半透明混合等现在看来极其原始的特效。除了主测试外,3DMark99 MAX还包含一系列单独的特性子测试,其中包括像素跟贴图填充率、S3TC、BumpMapping等项目。另外,3DMark 99还提供一个声光影俱佳的DEMO供玩家欣赏,同时也作为综合展示未来图像技术的一个窗口。

图:FIRST PERSON
就是从3DMark99开始,Madnoion开始奠定了3DMark系列的传统,这种主要测试+特性测试+展示DEMO的模式在此后的每一代3DMark中都被很好地继承下来;此外,“超前性”成为了3DMark系列的传统,Madoinon希望运用一些未来可能成为主流的超前技术来帮助玩家预测当前硬件系统在目前以及近未来的游戏中性能表现;但是这个特性在当时受到了不小的质疑,当时3DMark 99将S3TC作为一项重要特性来考虑,但是S3TC那时候还只是S3显卡的专利,很多不支持的显卡就在3DM99中吃了大亏。不过现在S3TC已经成为贴图压缩技术的标准之一,已经被大量的游戏所采用,因此我们不得不佩服Madonion的高瞻远瞩!

图:3DMark99
小有名气——3DMark 2000
在3DMark 99大获成功之后,Madonion更是紧紧跟随DX版本的升级步伐,在2000年DX7诞生之后第二代的3DMARK——3DMark 2000也随即闪亮登场!!DX7的降临不仅正式宣告D3D开始代替Glide3D同OGL一起统治游戏API,而且还带来一个新的名词:“T&L”(硬件变换与光照)技术!“T&L”的诞生让3D模型绘制过程里的坐标变换与打光步骤从CPU手中解放出来,交到显卡手里。这一技术的提出也是导致NVIDIA最受欢迎的GeForce系列显卡诞生的主要因素,GeForce意寓“几何力量”(Geometry Force),将多边形的坐标转换与打光步骤从CPU手里转交给显卡,不仅减轻了CPU的负担,而且摆脱了CPU性能低下的拖累,在性能强大的显卡加速下,场景的多边形数量得到几倍的提升!这样一个备受瞩目的新技术自然也就成了3DMark 2000的重点考察对象。
3DMark 2000沿袭99 MAX的传统,仍然包含了两个主要测试、若干特性测试跟一个更加YY的DEMO。跟前作不同的是,2000的主要测试虽然仍旧包含两个测试场景,但是每个场景共分为低、中、高三个质量设置,总共有六个主测试。这种做法更进一步贴近真实游戏环境。
主测试一是一个类似《阿帕奇武装直升机》的游戏场景,着重考察了系统在室外大场景的表现力,注重了多边形的处理,其中还运用了大量的雾化效果来体现远景的深邃感,而直升机的导弹炮火又考验了系统对多光源的计算能力。低中高三级的细节设置主要是反映在场景的物体数量、多边形/顶点数量以及光源数目的差异上。其中最低设置的测试里,场景里的物体数量只有23,光源数目为4而一帧画面的平均三角形数量接近7000个;相比之下最高设置物体数目大副增加到进40个,光源5个儿多边形的数量更是暴增到53026,几乎增加了10倍!!虽然这些数字跟今天的主流游戏相比简直不值一提,但是对于当时的硬件来说,缺乏T&L功能的话是不可能跑得流畅的。

图:阿帕奇武装直升机
主测试二是一个典型的第一人称动作冒险类场景,它基于Max Payne的Radionsity Lighting和Exit Rendering 技术,场景中的人物使用Skinned(蒙皮)和Distane LOD(动态LOD)特效。蒙皮和动态LOD都是今天游戏里司空见惯的技术,前者是是一种动画处理技术,其目的是使人物模型更加流畅和圆滑。最典型的例子就是人体的关节等物体接缝处,通过Skinned技术可以使人物的大腿和小腿在膝关节处灵活结合,从而使人物的动作更加真实自如。顾名思义,Skinned就是让物体接缝处橡皮肤那样光滑顺畅;而后者则是指根据距离远近采用不同等级的细节来描绘物体。在物体离我们近时,就多用一些多边形,多一点特效以呈现更多的细节。在物体离我们视角较远时,由于人眼无法轻易察觉,我们大可使用较少的多边形和细节以节省运算资源的开销。

图:典型的第一人称动作冒险类场景
我们从第二个游戏演示片段的三种不同的细节中,可以清楚地看到:细节越高,场景中的人物和物体数量越多。其中高细节的物体数目为22,光源数目为4而一帧画面的平均三角形数量达到9392个;而高细节下为7个光源,44个物体跟5W多的三角形。
3DMark 2000还新增了两个CPU测试,这两个测试仍采用上面两个测试场景,只不过将显卡的3D加速完全关闭,改用CPU软件模拟的方式运行。这在3D显卡尚未完全普及的那个时候来说还是比较有意义的,因为游戏仍然支持3D软件模拟模式。这项测试在640x480的低解析度下进行,同时游戏帧数固定,你可以选择两个不同的细节等级,色深、材质和Z值都只能定为16bit,这些无非都是为了避免使填图速率成为测试的限制因素。不过该测试的得分并不会影响3DMark的最终总分。

图:3DMark 2000
特性理论测试方面,除了跟3DMark 99 MAX一样有填充率、贴图填充率和凹凸贴图测试外,为了更进一步地检验、突出DX7的新特性,3DMark 2000还专门设置了几个多边形与光照测试来考察显卡的T&L性能。其中High Polygon Count Test的场景就是三十个不停晃动的绳圈,每个绳圈有5000个三角形,这样屏幕上总共就有15000个三角形。对于今年推出的游戏,这应该是一个具有代表意义的数值。同时测试还按照逐级增加光源数量的方式来提高T&L的负担。

图:测试
画质测试3DMark 2000引入的另一个新特性,在那个百家争鸣的显卡战国时代,各家的产品在画质有着比较明显的差别,因此3DMark的这项功能可以说为玩家设定了一个方向标。
最后,除了精美的测试之外,3Dmark2000延续上一代产品的传统,为用户提供了一段精彩绝伦的演示DEMO。由于采用了大量的特效和3D技术,效果在当时来看实在是震撼人心!就这样,3DMark系列凭借着先进的技术特性、简单易用的操作以及精美绝伦的画面效果,开始代替那些枯燥的测试软件,成为玩家最喜爱的3D Benchmark工具,同时也开始树立其在性能测试方面的公信力。

图:精彩绝伦的演示DEMO
最经典的Mark——3DMark 2001
在那个显卡战国时代,PC图形技术发展迅猛,MS在DX7成功之后也不敢怠慢,继续加紧前进的步伐,所以在仅仅一年之后,新一代的DX8就诞生了!而这一次微软又为我们带来一项比“T&L”意义更大的革命性技术——Shader(着色器)。第一代的Shader包含Pixel Shader跟Vertex Shader两个类型的着色器,shader的引入预示着游戏创作将从传统的固定管道渲染开始迈入可编程时代。还记得之前图形卡标榜的所谓雾化效果之类的各种特效吗?从DirectX 8时代开始你可以彻底将他们扔掉!之前所有的GPU、图形芯片都是固定功能的ASIC(专用逻辑电路)。因此能实现什么样的特效在图形芯片设计的时候就确定了。而程序员即便再有本事也只不过是在游戏中对这些固定功能进行各种排列组合。有了Pixel Shader和Vertex Shader之后,程序员可以自己编写一段代码让GPU执行从而控制几何处理部分和象素处理部分。没错!有了Shader你就能看到无穷的3D效果,而不是以往哪些令人沉闷的堆积;有了shader程序员就可以拿起“画笔”随心所欲地自由创作。(当然,第一代的shader model还比较原始,限制也很多,但随着后续升级版本的不断改进,今天最新的SM4.1已经给予程序员很大的自由。)

图:3DMark2001
Madonion紧紧追随MS的脚步,就在DirectX 8的发布不久,Madonion又于2001年的3月14日发布了3DMark2001。而这一次3DMark 2001不仅支持DX8的SM1.1,而且大幅扩展3DMark的规模,测试场景从前做的两个提升到四个,而其中的四个场景中的前三项场景均有低细节度与高细节之分,最后一项测试采用了Shader技术,只有支持DirectX 8.0的显卡才能完成测试。
3Dmark 2001采用了当时大红大紫的游戏MAX Payne的引擎MAX FX开发,这个引擎在当时具有很高的技术前瞻性,已经能够很好地运用SM1.1甚至1.4的各种特性,在3DMark 2001中,Skinning、 morphing变形、大地形的植草以及树叶的覆盖均采用了1.1 版本的vertex shaders。但是Shader技术的普及并不像T&L那么简单,因为后者只需要将多边形的坐标变换跟光照处理交由显卡来做,相应的游戏也只需要加大多边形跟光源的数目就可以体现出T&L的优势来;而对于shader来说,想要展现其优势就必须放弃传统的固定管道,但这样一来所有不支持SM的老一代显卡就将作废,因此Madonion预计shader的普及需要花费一到两年作为过渡,所以实际上3DMark仍然以DX7测试为主,4个测试中前三个场景仍然采用传统的DX7技术渲染。另外3DMark 2001开始采用Projection shadow技术,这算得上是第一代比较完善的实时投影技术。下面我们再来回顾一下这四个测试所运用到的技术特性。
3DMark 2001测试回顾
显卡测试1 机车追逐战场景

图:机车追逐战场景
第一个测试场景描述了一场机器人入侵地球的战争,在测试中主角是一辆红色的战车,拥有自导引导弹的战车一路狂奔,一边躲避敌人的炮火一边还击。在这一代3DMark中,Madonion开始采用Havok引擎来处理测试场景中的物理计算,在测试1中,战车高速行驶时出现的加速磨擦力、阻碍力、打滑等真实物理效果就是基于Havok运算的。跟2000一样,2001的测试场景仍然有高细节与低细节之分,但跟前作简单的添加多边形跟光源数量不同,在2001中,高低细节测试场景的差异包括多个方面:动态物体的阴影、机器人探照灯对物体表面的光照效果、大量附加物体、物体贴图细节等方面均存在显著的差异。值得一提的是,该测试还运用了当时ATI R100 GPU的单周期三重纹理技术。
显卡测试2 火龙入侵

图:火龙入侵
该测试模拟经典的D&D类游戏场景,描绘了女巫乘火龙袭击村庄的一幕。该测试的亮点是采用了Remedy Entertainment跟Hybrid合作开发的GI全局光照技术。虽然这项技术跟光线追踪下的GI不能相提并论,跟今天用AO(环境光吸收)等方式来模拟GI的算法也没得比,不过其原理跟目的都是一致的,那就是尽量模拟光线的跳转与传递效果,而这里所用的做法就是为物体添加根据GI计算的额外light map(光照贴图)。
该测试还运用Vertex Shder(VS,顶点着色器)来为描绘角色模型的变形、运动等动画效果,由于VS可以用CPU模拟,所以不影响不支持SHADER的显卡完完成测试。另外场景的高低细节差异主要表现在动态阴影、模型的多边形以及物体表面纹理的复杂度上。
显卡测试3 骇客帝国

图:骇客帝国
该场景的创意来至于电影骇客帝国和Max Payne游戏,用慢镜、子弹时间等手法用实时3D渲染重现骇客帝国中经典的大厅枪战一幕。场景中的特效令人眼花缭乱,包括大理石表面的反射效果、任务皮革大衣的高光效果、墙壁材料的剥落、弹孔弹痕、大量的烟雾、复杂的光影效果…………为当时的显卡提出了很高的要求!高低细节测试的区别也就体现在上述特效运用的多寡上,比如低细节场景里墙壁材料的剥落、弹孔弹痕等效果就消失不见。
显卡测试4 大自然风光
碧野石屋、艳阳高照、彩蝶飞舞、小桥流水、垂钓老翁、细水潺潺、湖光荡漾以及最后那棵在微风中摇摆着茂密枝叶的大树,构成了Nature这派当时前所未见的实时3D渲染下的大自然风光!Nature当时带给玩家的震撼可以说是距今为止3DMark系列之最,那种震撼很难用言语表达,记得当时很多人就是为了一睹Nature的芳容而砸锅卖铁入了GF3。

图:大自然风光
Nature是3DMark系列第一个运用Shader技术的综合测试,因此shader的运用就成了该测试的重点。整个场景中的物体顶点位移都由Vertex shader完成,这其中包括树叶、小草的摆动;还有飞舞的彩蝶等等动画效果。Pixel Shader被用来绘制水面的反射效果,这也是导致不支持DX8的显卡无法运行该测试的主要原因。另外,Nature所用的纹理量在当时来看也是相当恐怖的,物体最高用到四层纹理,而且大量使用了cube map(立方体贴图),贴图容量峰值更是达到惊人的40MB(40MB在今天来看实在是不值一提,但要知道2001年的旗舰级显卡也就配备了64MB显存)。
3DMark 2001删掉了上代的CPU测试,而特性测试方面除了保留传统的填充率跟多边形测试外,新增了shader测试、粒子系统测试以及一系列bump mapping测试。3DMark的传统DEMO也得到延续,此外还增加了一个游戏功能,实际上就是测试1的游戏版本,玩家能够控制红色战车在场景里驰骋,可惜除了画面外,这个小游戏的其他方面都很差,Madonion(FutureMark)要想开发出真正的好游戏仍有很长的一段路要走~~~

图:测试画面
3DMark2001的推出,正式确立了Madonion在3D图形卡测试领域的霸主地位。而在2002年,由于微软的DirectX 9直到年末才发布,因此Madonion并没有推出相应的3DMark2002,而是改进了3DMark2001,加入DirectX 8.1支持,新增一个PS1.4的测试,这就是经典3D测试作品,目前还被广泛采用的3DMark2001 SE。可以说3D Mark2001/SE是FutureMark历史上最经典的测试软件,因为它不仅让玩家首次感受到Shader的魅力,而且至今Futuremark仍然提供3D Mark2001/SE成绩的Online Result Browser服务(ORB)。时至今日,3D Mark2001/SE的成绩仍然在被不断刷新。
多灾多难的3DMark 03
由于Shader普及的步伐较慢,因此微软并不急着推出新一代的DX,而跟DX版本保持步伐一致的3DMark也就打破了一年一代的惯例,3DMark 2002并没有如期而至。直到微软在2002年末推出DX9之后,隔年的2月12日3DMark 03才粉墨登场。
在新的DirectX 9中,微软引入了Vertex Shader2.0和Pixel Shader2.0,总称Shader Model 2.0。相对于以往1.0版本的Vertex Shader和Pixel Shader,新版本的功能和易用性已经不可同日而语。进一步解放了游戏制作者的枷锁,利用新版本DirectX所特有的提供了高度可编程性和全流水线的浮点颜色精度,以及位移贴图、高次曲面等技术。基于DirectX 9的应用必将展示出一个崭新的3D世界,而3Dmark03自然也对这些新技术提供了强有力的测试支持。

图:3DMark 03
3D Mark2001/SE的成功使得Madonion和3D Mark的名声大噪,3D Mark几乎成了划分显卡档次的惟一标志。在3D Mark03诞生之前,Madonion.com更名为FutureMark(下文简称FM),完成了商业化改造。肩负着业界的无限期待,而3DMark的命名也做了精简,用3DMark 03代替3DMark 2003。当然除了改名之外,FM对新一代的3DMark带来一系列的革新。
首先我们已经找不到3DMark2001中的那个MAX FX图形引擎,而是一个直接在DirectX 9上构建的简单高效的图形引擎,这个图形引擎把绝大部分的图形处理工作都交给了显卡和DirectX 9 API。这样有着明显的好处—3DMark03能够更为自由地使用各种图形技术而不受图形引擎的制约,以期取得更为准确的测试结果。

图:3DMark 03测试画面
其次使用了“帧基渲染”。什么是帧基渲染?先让我们来了解一下在以往的3DMark中普遍采用的时间基渲染。时间基渲染的实质就是为每个游戏场景赋予不变的时间线,在渲染过程中,如果遇到简单的场景便加多帧数,而遇到复杂的场景则降低帧数,通过调整帧数来维持时间线的恒定。这样的方法在高端电脑上能够很好的发挥作用,如果遇到低档配置的电脑,那在复杂场景中渲染帧数将会显著降低(这就是我们所说的跳帧),甚至成了幻灯片。这样并不利于直观地比较两个PC之间的性能差异,因为他们的运算量并不相同。帧基渲染则打破了这个僵局,它并不会因为PC配置的高低而自动调整帧速率,而是直接强制以一定的帧速率进行渲染,尽管有低档PC会因此不堪负重出现跳帧,但它们之间的运算量是完全一样的,只有这样才能全面体现两个不同配置的电脑的差异。
最后3DMark 03加入了全新的游戏音效测试,通过涵盖GPU、CPU跟音频性能的测试,FM试图将3DMark进一步打造成一套完整的游戏性能测试软件。
由于当时业界正处于一个新旧技术交替并存的时期,因此3DMark 03并不仅仅支持新技术,而是采用比2001更加复杂的DX7/8/9测试并存的方式。这一代的3DMark仍然包含四个主要测试项目,其中测试1为DX7测试,测试2跟3为DX8.1测试,而最后一个测试为DX9。从这个搭配来看,3DMark 03仍然是一款以DX8.1为主的测试软件,这个问题也为3DMark系列带来前所未有的公信力危机,这个问题留待后面再谈,我们所先按惯例来回顾一下几个测试的技术细节。
3DMark 03测试回顾
Game Test 1:Wings of Fury

图:Wings of Fury
第一个测试描绘了第二次世界大战期间所发生的一场空中遭遇战,大量战机在高空中的激烈交战构成了一个气势恢弘的高空战场,当就气势而言,GT1的震撼力比后面几个测试有过之而无不及,而FM对DX7低成本特效运用的高效性更是令人称奇,比如用cubemap做出来的机身反光效果比后来许多DX8/9逐像素光照的反射效果还要真实!另外粒子系统也为整个画面的气氛渲染起到了画龙点睛的作用,粒子烟雾效果也令许多DX8/9时代的游戏汗颜。
值得一提的是,虽然这是一个DX7测试,但是DX7最大的招牌技术“T&L”却被抛之不用,转而用DX8的Vertex 1.1代替,虽然Vertex在不支持DX8的显卡上可以交给CPU做软件模拟,但这种做法仍有失公允,因为这种做法的实际最大受益者是彻底抛弃了T&L引擎的ATI 9700 GPU,3DMark 03的公信力开始让人质疑。
Game Test 2:Battle of Proxycon

图:Battle of Proxycon
FM似乎爱上了“高空作战”,这不,GT1的二战空战刚刚结束,GT2又把我们带到更高更远的外太空,在这里一场太空大战正在上演。该测试完全基于DX8.1,大量运用了Pixel Shader 1.4来处理材质效果。不过真正让GT2有价值的确是它引进了两项对一年后游戏画面影响深远的技术——Normal Mapping(法线贴图)跟(Volume shadow)容积阴影。相信现在大家对这两项技术已经耳熟能详,这里就不作遨述了。
Game Test 3:Trolls Lair

图:Trolls Lair
第三个测试场景再次回归3DMark 2000/2001的类D&D主题,描述一个MM闯入巨魔老巢的经历。该测试的最大亮点就是人物皮肤跟头发的渲染,特别是MM的长发,每一根都是多边形建模,而不是简单粗糙的贴图,每一根头发还进行了各向异性光照处理,即使是五年后的今天,如此真的头发效果仍不曾出现在游戏里,只有NV的演示DEMO采用了类似的处理手法。另外该测试对现存的要求非常高,需要128MB才能顺利运行。
Game Test 4:Mother Nature

图:Mother Nature
凭借着风光如画的Nature测试,上一代的3DMark为玩家带来一场视觉革命,受到了巨大的反响,因此FM决定在3DMark 03中将革命进行到底,继续运用最先进的技术将更真实的自然风光带到荧屏上,就这样Mother Nature测试诞生了。
而FM也的确做到了,开场之后首先映入玩家眼帘的湖水就远胜2001的Nature,接着上岸的乌龟又为整个场景增添了鲜活的生气,然后我们可以看到完全多边形建模的独立树叶,这在今天的游戏里也是基本见不到的~~当然还有最后仿HDR的太阳光照~~可以说Mother Nature达到了近CG画质,特别是在DEMO中打开全屏高光模糊等后期处理特效之后,其效果更是胜过2001的Nature十倍!!比较遗憾的是整个场景只有水面跟天空效果用到了shader model 2.0,其他仍以1.4为主。

图:测试画面
除了上面四个主要测试外,3DMark 2000的CPU也再次回归,3DMark 03的两个CPU测试通过软件渲染GT1跟GT3场景来测试CPU的性能。特性测试除了新增的Shader Model 2.0测试外,还引入了一个独特的新测试——Ragdoll。Ragtroll是个用来测试GPU和CPU在进行图形处理应用的时候负载平衡能力的项目。这个场景运用了大量的物理模型计算,所有角色的移动都按照物理学经过了精确计算,该场景使用了Vertex Shader1.1和Pixel Shader1.4来进行场景的处理。值得注意的是,在测试过程中3Dmark会在GPU处理和CPU处理之间进行切换,因此这个场景的成绩和GPU与CPU的处理能力成正比。
最后3DMark03还首次加入音效测试,音效测试有2项,分别是24个3D音频流回放和60个3D音频流回放。场景中,移动物体所发出的声音符合多普勒效应,并且还使用了3D声场定位,而其他物体对声音的反射和吸收特性都完全符合真实环境。
遭遇显卡作弊风波
3DMark 03在推出后仍然受到热烈的反响,不过让人始料未及的是,这一代的3DMark不仅跟历代作品一样为玩家带来一场视觉盛宴跟数字竞赛外,还给厂商带来一场口水战!就在3DMark 03发布不久之后,GPU龙头老大NVIDIA就公开声称3DMark 03无法反映实际游戏环境!这为FM和3DMark带来了一场公信力危机!而导致这一危机的罪魁祸首就是Pixel Shader 1.4。作为DX8.0版本的PS1.1/1.3的升级版本,PS1.4是DX8.1的主要特性,虽然在功能、灵活性等方面PS1.4比之前的版本有了长足的提升,但问题就出在其硬件支持度太低,当时只有ATI的R200 GPU支持该技术,而NV的GF3/4系列产品均不支持。而FM只看到PS1.4的技术优势,忽视了NV的影响力,在3DMark 03的GT2/3两个DX8测试中大规模使用,而对于不支持的显卡就转而用PS1.1来运行,结果GF3/4的性能自然是大打折扣,NV自然大为不满。相反,最为“受益者”的ATi则表现得十分大度,多次肯定了3Dmark03的权威性,甚至认为3Dmark03的Benchmark对于其下产品的性能与品质都有很重要的诊断作用,指引着未来的发展方向。
对于nVIDIA的这一声明,FM自然不会忍气吞声。通过各种场合,FM重申了3Dmark03的测试公证性。FM,做为一个测试软件开发者的任务正式编写出公正、公平的测试软件奉献给消费者以及所有PC用户,其在3Dmark03开发过程中也严格保证了这一点。对于消费者来说3DMakr03测试软件保持着操作简便的风格,而且测试结果也非常容易看懂和分析,因此3DMakr03测试工具将要很快成为大众化的新技术测试软件。可以看到FM的发言处处强调了新技术的运用测试,但后来历史也证明硬件支持力度不足的PS1.4几乎没有游戏采用,最后更直接被更强大的PS 2.0所取代,所以3DMark 03可以说是给用户一个没有实际意义的空头测试。
正所谓一波未平一波又起,在2003年下半年,随着NV以及ATI的新一代SM2.0显卡推出之后,3DMark 03又面临着一场“作弊”风波。当时NVIDIA的NV3X系列GPU由于架构上的失误,导致在SM2.0方面性能严重落后于ATI的R3XX系列,为了挽回劣势,NVIDIA开始在驱动中为3DMark 03做“优化”,此举让GFX系列的3DMark分数有了很大的提升。紧接着ATI方面也“不甘落后”,开始跟进驱动优化的措施,就这样一场“你追我赶”的作弊风波就围绕着3DMark 03展开,这让3DMark系列面临前所未有的危机,其公信力几乎跌至历史谷底!
为了挽救自己的权威,FM连续为3DMark 03推出了几个“反作弊补丁”这让NV产品的成绩大幅下降,也因此加剧了与NV之间的矛盾,致使NVIDIA大爆内幕丑闻!NVIDIA声称由于自己没有参与FutureMark的beta计划(要参与该计划必须付出十多万美元的代价),所以没有机会参与Futuremark的Shader编写,从而直接导致测试成绩明显偏低,又因为没有参与画质定制,因此在画质标准上处处受到FutureMark的刁难。与此同时,ATi的官方发言人也承认其催化剂驱动存在针对3Dmark03优化的现象,并且承诺在下一版的CATALYST催化剂的驱动中将完全取消这方面的优化指令,而仅以FutureMark的标准方式进行测试。显然,FutureMark在态度跟ATI有些暧昧,让人不得不对其公信力再次产生质疑。
这里我们有必要来谈一下FM提出的Benchmark Development Program合作计划,该计划通过让众多的独立硬件商和独立软件商参与到基准测试的开发过程,用来确保测试程序的公正性,参与其中的公司包括,AMD、NVIDIA、Intel、S3G、SiS、微软、Dell、HP等。从3DMark的Alpha版本开始,这些公司就会收到来自Futuremak提供的测试程序。这些BDP会员在整个3DMark开发过程中都能就测试程序的一些问题提出合理的修改意见,让Futuremark得以完善3DMark。此外BDP会员还能获得FM产品授权、定制测试程序的折扣优惠。但是Futuremak的BDP合作模式存在一些问题,那就是参与其中的厂商,真正能都业界产生影响的厂商也就是NVIDIA、AMD和Intel,而真正对3DMARK感兴趣的用户绝大多数实际上只是看AMD、NVIDIA的产品表现,这两个厂商如果其中一个对BDP的产品产生异议的话,比如这次的NVIDIA事件,就会对3DMARK的公信力产生很大的冲击。而NV上面的声明就是指自己由于在3DMark 03开发期间缺席BDP而导致自己的产品在3DMark 03上都到不公待遇。

图:BDP会员Logo
在经历了这两场危机之后,3DMark 03虽然仍能够在一定程度上反映出当时显卡的性能水平,而且也成功预测到部分未来技术的发展方向,为玩家提供了提前检验显卡在处理Normal mapping和Volume shadow这两项后来成为主流的技术的性能,但仍然无法阻止3DMark的影响力急剧下降,特别是AquaMark 3的异军崛起,3DMark03不再是DirectX 9测试的唯一选择了,3D Mark 03也渐渐失去了头上的光环,开始受到评测机构媒体的冷落。
东山再起 2005
3DMark 03的失败严重动摇了FM在3D Benchmark领域的权威,在连续推出几个版本的补丁之后仍无法挽回颓势,而此时AquaMark3看准机会,异军崛起,更是让FM难以招架,痛定思痛,FM深深意识到只有尽快推出新产品,才能重树威信。
正当FM全力打造下一代3DMark的时候,整个图形界的发展步伐却似乎开始慢下来,微软自从02年底发布DX9之后,在接下来的整整一年里DX的版本几乎没有什么大的升级,再加上NVIDIA NV3X GPU的性能缺陷,导致SM2.0的普及一直处于半冷不热的程度,直到2004年初第二代的DX9显卡面世之后才SM2.0才迎来了真正的春天。在第二代DX9显卡诞生之际,微软也对DX9.0做了相应的升级,推出了DX9.0C,其最大的贡献就是带来了SM3.0跟FP16精度的HDR,而当时只有NV的GF6系列显卡支持,ATI同级的Radeon X800只能支持SM2.0B,为此微软还为其特别准备了一个DX9.0B的版本。

图:3DMark 05
为了东山再起,FM这一次对于新版本的3DMark可谓寄予厚望,在其发布之前还特别策划了一系列的商业炒作。首先是在04年暑假期间在网上发布了一幅“月夜幽林”的预览截图,这幅图片描绘了一个满月下的神秘森林里的场景,当时在玩家中引起极大反响,成功钓到了玩家们的胃口;接着是一系列媒体的访谈,而在这些访谈中FM发言人口中的新3DMark却始终是“犹抱琵琶半遮面”;而最经典的还得数3DMark 05发布前几天在FM官网上出现的那个倒数器,对此相信许多玩家跟小编一样仍然记忆犹新!还记得那个倒计时器一共有六位数字,前面还带一个字母,每当数字倒数完后,在前面的字母就会有变化,如此循环到999999再继续倒计时,让大家摸不着头脑究竟什么时候发布。此举可以说将3DMark 05的发布炒作到了顶点,几乎吸引了整个业界的眼球~~~
经过“漫长”的倒数之后,新一代的3DMark终于在2004年9月29日降临,虽然生在2004年,但为了显示其超前性,FM把它命名为3DMark 05而不是04。上代产品的失败给FM带来了三个教训:一是技术支持上不能一味追新,必须充分考虑硬件的支持率;二是必须尽量避免“遭到”显卡驱动的“优化”;三是必须把公平公正作为优先考虑;而在3DMark 05中,我们也可以清楚看到FM为在这几方面带来的改进。

图:3DMark 05
在3Dmark05中,FutureMark放弃了手写Shader,而是全面改用微软提供的HLSL进行shader的编译,以让引擎自动选择当前显卡的最佳渲染路径。在软件上,3Dmark05的渲染引擎会自动检测显卡并作出如下的渲染路径:PS 2_0、PS 2_a、PS 2_b、PS 3_0。不过这仅仅是局限于shader的编译方式,而实际测试中所有特效均统一为SM2.0规范。也就是说支持Shader Model 3.0的nVIDIA Geforce6在PS 3.0路径下编译shader,但在测试中不会有PS 3.0能派上用场的地方,因此不支持SM3.0的ATi显卡也不会在测试中吃亏。
3DMark 05 测试回顾
主测试方面,3DMark 05的测试场景缩减为3个,但每一个场景的规模都比以往作品来得庞大而完善,下面我们继续按惯例来回顾一下3DMark 05测试中的技术细节:
显卡测试1:Return to Proxycon

图:Return to Proxycon
Return to Proxycon是3D Mark 03中的第二个游戏——Battle of Proxycon——的延续。故事的背景仍然在太空。一艘装满贵重货物的飞船遇到了太空海盗,一场激战在所难免。Return to Proxycon中的激烈战斗场面相当于实际游戏中的大型室内场景。Return to Proxycon展示的精美画面也是前所未有的,这个场景只是整个故事中的一部分,在3D Mark 05的Demo中,玩家可以观看到完整的过程。
该测试的亮点在于大量的光源跟多边形运算,这个场景中共使用了8个光源,包括2个方向光源和2个静态光源,采用的纹理尺寸达到了2048×2048。
显卡测试2:Firefly Forest
满月的夜晚,月光倾泻在神秘的森林中,萤火虫自由地穿梭嬉戏,俨然是森林的主人。这就是Firefly Forest场景,当初3DMark 05的第一张宣传截图就取自该场景。

图:Firefly Forest
这个场景代表了游戏中的中等规模室外场景,目前流行的游戏当中就有相当一部分的大作既有逼真的室内环境也有力求完美的室外环境,覆盖着植被以及碎石、枯木的地面是游戏中常见的场景。在这种小范围的室外场景中,视野通常不会太远,在地图/场景的构建方面,往往会用一个Skybox来对整个环境进行框定。在这个大舞台中,地面覆盖了浓厚的草以及其他低矮的植物。当然也有高耸的树木了。通常这种树木都是采用独立建模造成的,你可以看到树枝会随风轻轻摆动,叶子会在摇晃……植被以及地面的植物都是随着镜头的移动而动态分布的,植被的细节度也是会随着镜头的远近动态调节,这个场景是透视阴影贴图的最真实写照。
场景中地面材质的处理与测试1类似,但增加了漫反射效果。岩石运用了大量的Normal mapping和specular mapping,场景采用了高细节的几何模型,高级shader驱动下的大气散射和雾化效果也一应俱全。场景中月光采用了指向光源,动态阴影的纹理尺寸同样达到了2048×2048。而萤火虫的光照产生的阴影采用了512×512尺寸的纹理。
测试3:Canyon Flight
第三个场景叙述的是一艘在峡谷中飞行的船与守卫这个峡谷的海怪之间的激烈战斗。同样测试只是一小段,完整的故事内容可以在3D Mark 05的Demo中看到。该场景代表了现代游戏中的大型室外场景,由于需要做出水面反射峡谷的效果,这个室外的大范围场景是非常复杂的。水和天空的处理都大量使用了雾化效果:这样可以依稀看到水中潜行的海怪。

图:Canyon Flight
GameTest 3场景中的岩石表面是3DMark05中比重最大的一个材质系统。采用了Pixel Shader2的Shader编写其动态光影效果,山崖的材质采用了两张Colormap,两张Normal map以及Lambertian diffuse shading。水面的系统更加复杂,当然,GameTest 3中的水并非只是一个面状的材料,这个场景为了得到准确的反射、折射以及两者的阴影效果,渲染了足足六次之多。在3DMark中,水面是一个改进了的Water Shader,其中包括了多次读取法线贴图,反射和折射贴图和像素级的菲涅耳效果。在3DMark05中还加入了一个深度雾化的功能,在远景以及背光处会出现模糊以及黑暗的环境,增加视觉的距离感。
在光源以及阴影的应用方面,由于这是一个室外的场景,场景属于开放型,而且悬崖壁呈圆通壁状。为了达到最佳的阴影效果,GameTest 3中的2048×2048 Depth map用了两次,依次为镜头附近的近处场景以及其余的场景。
CPU TEST
CPU Test从3D Mark2000开始便被引入了,属于“传统测试项目”。CPU测试仍然沿用前面几个场景中的游戏,只是将分辨率降低,并且Vertex Shader全部交由CPU完成。这样可以尽量减少显卡的工作量而将CPU的负荷提到最大。
在3D Mark 05中,CPU Test使用的是Game3场景和Game1场景(按照先后顺序)。在Game3场景的测试中,CPU不仅要承担Vertex Shader的工作,还要计算飞船在峡谷中飞行的航迹。为了确保在不同系统中承担的计算量是相同的,飞船飞行的航迹是相同的。
CPU Test1中使用了D Lite算法,这是一种较为先进的算法,主要考虑了未来可能的虚拟或者物理多核心处理器,可以同时让CPU进行最多两个线程的处理。CPU Test2使用了2帧/秒的固定渲染模式,不过没有加入AI(人工智能)处理。CPU score = (CPU Test 1 × CPU Test 2)^0.5 × 1500
沿袭3DMark系列的传统,3DMark 05仍然包含一系列的特性测试,其中除了传统的填充率测试外,大部分是针对SM2.0单项理论性能测试。另外值得一提的是3DMark 2001中的块状测试(Batch Test)也在这一代得以回归。
块状测试是3D Mark 05中新增加的测试项目,它的内容是对一个未经过优化的非常简单的场景进行渲染测试,旨在针对目前驱动中的一个弱点。几年来,游戏开发者始终是对尽可能大尺寸的“块(Batch)”渲染,不过,在实际应用中,针对小尺寸的块状渲染不仅能获得同样的效果,也能取得很快的速度。这个测试早在3D Mark2001时就被提出了,而到了2005,更多的开发组成员提出加入这一测试。这个测试共有6种模式,每个块由128层128×182尺寸的正方形组成,包含了8、32、512、2048、32768个三角形 。在今天的显卡驱动一般会对最后两个“块”的测试进行优化,块的尺寸越小(包含的三角形数目越少),渲染的速度越慢。所以这个测试从某种程度上说是对驱动渲染能力的考验。
DX9 Benchmark最终作——3DMark 06
3DMark 05的推出总算是让FM挽回了公信度,同时也基本上消除了显卡驱动的作弊风波。但是我们也可以看到为了做到公平公正,3DMark 05在技术性上也变得保守得多,完全没有了过去所标榜的技术前瞻性与预测性。当时SM3.0和HDR风头正茂,但很遗憾3DMark 05仍然停留在SM2.0时代,技术性的相对滞后对于3DMark系列来说还是头一回,这也预示着这代Mark的寿命不会长久。
另一个困扰3DMark 05的问题是,FM在PS/VS负担比例上出现了偏颇,在3DMark 05的测试场景,由于使用了海量的多边形顶点来建模,因此对于显卡的VS性能要求很高,而当时游戏界的实际发展趋势却刚好相反,越来越多的游戏程序员偏向于运用PS来赋予物体表面复杂的虚拟几何细节,所以各种Mapping技术应运而生,而GPU的运算资源也是偏重于PS,那个时代的显卡还未做到统一shader架构,基本上主流显卡的PS/VS资源比率一般在2.5:1以上。3DMark 05的测试过分依赖显卡的VS性能,致使大量的PS资源处于闲置状态,而雪上加霜的是,由于那时候顶点的生成让需要依赖CPU来完成,因此CPU性能也成了影响测试成绩的主要因素,CPU成了拉高分数的主要手段,因此许多人开始质疑3DMark 05测试的意义,可以说这给FM又带来了新的危机。
为了解决上述3DMark 05存在的两大缺陷,FM在完成05之后就开始紧锣密鼓筹备下一代产品的开发工作,很快3DMark 06就诞生了。虽然被命名为3DMark 06,但实际上其内容只是3DMark 05的加强版,所以称其为3DMark 05 SE或者更加贴切,但不管怎样,3DMark 06仍然是自03以来各方面最为完善3DMark产品。

图:3DMark 06
针对05存在的两大缺陷,3DMark 06对其进行了重点的改造,首先是全面正式支持SM3.0跟HDR,因为这代产品推出的时候,N/A两大GPU厂商的全线产品均已进入DX9.0C时代,现在支持DX9.0C在不会落下个“有失公允”的口实;其次是针对PS/VS负担失衡的问题,着重加强了PS的使用量。
由于开发周期较短,3Dmark 06并没有重新制作测试内容,而是保留05的测试场景作为基础,其中显卡测试的前三项均保留了前作的内容,只不过对其分别进行了大幅的技术增强跟改进。而最后一个测试则是全新制作的场景,效果非常出众。

图:3DMark 06 Test 4
这里我们还有必要来回顾一下3DMark系列的投影技术发展历程:从3DMark 2001开始,FM开始将动态阴影技术加入到渲染引擎当中,01所采用的就是一种叫projection shadow的贴图实现动态光影的生成,这种方法有很大的局限性,比如不会计算投射面的深度以及层面,但因为计算开销小而成为那个时代的游戏所广泛使用的实时动态投影技术。3DMark 03开始使用stencil shadow(模板阴影),这跟后来Doom3中所用到容积阴影技术基本一致。该技术虽然能够投射精确的影子,但是需要CPU的高度参与,而且对于填充率的需求很大,柔和阴影效果也很难实现,所以一般只能用于室内场景。到了3DMark 05,FM开始转向更加有前景的shadow mapping技术。Shadow mapping算法有很多种,其中05使用的是perspective shadow maps(透视阴影贴图),是depth shadow maps(深度阴影贴图)中的一个分支。在这种贴图技术中,场景会从灯管的法向量方向测量物体相对于光源的法向量正向深度距离,用以测定计算场景中的物体是否落在阴影中,若产生阴影,则位于阴影内的物体不会被任何光源所照亮。3DMark05的场景中,对方向性光源采用了2048×2048 R32F格式的depth map ,如果硬件支持深度模板材质的话,3场景将会使用同样大小的D24X8 depth map 。原则上,这个2048×2048 的depth map 将会被使用两次,第一次会渲染在近镜头处物体的深度 ,另外一次会渲染余下的场景。3DMark05中的点光源采用了512x512x6 的立方贴图用作R32F 格式的深度贴图。perspective shadow maps对于大范围的投影效果相当不错,但仍然存在一些问题,比如阴影的边缘很难柔和化,可以清楚看到大量的锯齿状失真。因此在3DMark 06中,FM重点对投影系统进行改革,采用cascaded shadow maps (CSM)来代替perspective shadow maps,这种shadow map技术通过在玩家视点区域内投射同一分辨率的多张阴影重叠来实现细腻的阴影效果,再加上更高分辨率的shadow map,06中的shadow效果相比05有了巨大的改善。

图:画面对比
3DMark 06技术看点
由于3DMark 06的前三个显卡测试均沿袭至05,因此对其内容这里就不再多述,我们重点来看下特效的增强部分。其中Return to Proxycon跟Firefly Forest仍然是基于SM2.0的测试,两个场景的下过都有了巨大的增强。首先是两个场景都全面改用cascaded shadow maps,很好地解决了前作阴影边缘闪烁的问题;其次是两个场景的光源数量都大幅提升,其中GT1的点光源数量从8个激增至26个!而GT2里则多了一个萤火虫,阴影的绘制量也因此而倍增。最后两个场景的光照效果也有了明显的增强,所有这些都是为了增加PS的负担,让测试更加贴近真实的游戏环境。

图:3DMark 06

图:3DMark 06
Canyon Flight跟全新的Deep Frezze则是完全基于SM3.0的测试,需要支持SM3.0跟HDR的显卡才能运行。Canyon Flight在SM3.0跟HDR效果的烘托下相比前作的效果简直是脱胎换骨,特别是HDR的效果简直仍然心醉,该场景对于HDR的运用可以说目前还没有游戏能够真正超过!而海蛇在PS3.0的支持下也脱去前作灰白的外壳,变得色彩斑斓。最后一个测试Deep Freeze是3DMark 06全新制作的场景,描绘了一个被废弃的南极考察基地在冰冷刺骨的风雪中的颓败风貌。该测试的画面使用写实的手法来模拟照片级效果,在高级pixel shader和高精度浮点纹理的帮助下,整个场景居然成功地将冰冷刺骨、阳光明媚、破败颓废、晶莹剔透等风貌柔和在了一起,堪称Nature测试的另类回归!

图:3DMark 06
由于多核CPU的流行,因此3DMark 06重新设计了一个CPU测试来迎合这一潮流。这次CPU测试不在沿用以前那种简陋的软件渲染显卡测试场景的做法,而是根据CPU运算任务的特点,专门制作了一个场景,并命名为Red Valley。
Red Valley是一个带有多道曲折峡谷的场景,其中还包括87个快速移动的飞行器,从峡谷的一端行进到另一端,中间还会有射击的状况发生。测试场景给CPU的负载主要来自三个类型:游戏逻辑、物理处理和AI设计。处理器的测试被锁定在一个固定的帧速度下(2fps),以保证图形性能不会影响到CPU的分数,基于同样的理由,测试场景没有采用动态阴影。

图:3DMark 06
CPU测试分为两个项目进行,测试一的AI寻径跟AI处理间隔运算都要比测试二重,两个测试都全面为多核处理器做了优化。至于特性测试方面就没有什么好说的了,跟3DMark 05基本一致,除了多了两个SM3.0的测试,其中Vertex Particle是用来测试GPU VS3.0的性能;而Perlin Noise则是用于测试PS 3.0的性能。
FutureMark路在何方? 进军游戏市场!
3DMark 06的推出基本解决了05存在的两大弊端,让3DMark在Vantage诞生之前的两年光阴里继续维持FM在3D Benchmark领域的王者地位,而新一代的3DMark Vantage也已经在本文截稿的两周前诞生,3DMark 06的任务也总算是后继有“Mark”。

图:3DMark vantage
回顾10年历程,我们可以看到3DMark作为一款第三方测试软件在引领实时3D技术的同时也在见证业界的发展历程;在斡旋于硬软件厂商们的斗争的同时还要去树立公正公平的测试标准,这对于FutureMark这家只有2、30个员工的小公司来说实属不易~~而令人庆幸的是,FutureMark做到了,3DMark已经成为一个被玩家、被业界所认同的品牌!但是FutureMark的野心被不因此而满足,就在今年的早些时候,FM已经宣布成立游戏开发小组,正式进军游戏市场。而最近著名国外杂志PC GAMER也透露了FM首款游戏的一些信息,相信具有先进技术跟一流美工小组的FM在游戏领域一定能为我们带来一番Mark之外的惊喜!

图:Game Reactor杂志封面
FM的第一款游戏开发代号为“羞辱”(Codename Pwnage),意寓羞辱对手

图:Codename Pwnage

图:Codename Pwnage
这款“低重力团队射击游戏”将讲述两大强力集团于2027年在近地小行星带挑起的军事冲突。这款Windows Vista/DirectX 10专属游戏,将有可能支持最多64人联线对战,并使用Futuremark最新PC测试工具软件“3DMark Vantage”相同的图象引擎。
