DX11谁主沉浮?3DMark华丽背后的隐患
泡泡网显卡频道3月4日 在过去的数年中,我们经历了数次具有革命性意义的DirectX版本升级,每一次的变换都带给我们更绚烂的游戏画面,都让我们更接近渲染真实的终极目标。
尤其是DX10发布后,以Crysis为代表的FPS游戏画面达到了巅峰,显卡实时渲染出来的人物及风景效果足以媲美照片、CG动画,甚至以前很多在电影特效制作中用到的方法,也可以实时渲染实现!
首款DX10游戏《失落星球》DX9对比DX10,牺牲一半速度,画面改进有限
但DX10绝不是完美无暇的,虽然它是游戏画质上的里程碑式更新,但仅仅一个问题就足以将其打入冷宫——过低的运行效率。当游戏开启DX10模式后,性能下降幅度非常夸张,以至于当年的旗舰显卡GeForce 8800和Radeon HD2900都是全军覆没!
事实证明,架空硬件的引擎是不可取的,唯有充分利用有限的GPU资源,通过各种辅助技术最大化画面表现力,才是图形技术公司和游戏开发商首当其冲要解决的内容。
微软认识到这一点以后果断将重心集中在如何提升算法和效率上面,迟来的优化,也是优化,总比食古不化一条道走到黑强。
于是便有了版本号比较尴尬的DX10.1。
相比它鸡肋的版本号,DX10.1更新内容其实不少,而且非常重要。虽然没有和DX10一样有什么革命性的改进(再革估计微软的命就悬了),大部分内容都是提高GPU的资源利用率、将一些可选标准列为必须,其实不少项目DX10显卡通过修改驱动就能实现。
实际上,DX10.1只不过是微软的亡羊补牢,其目的非常明确,那就是尽可能的提高DX10的渲染效能,达到节约GPU资源的目的,而真正将这项光荣的任务发扬光大的却是DirectX 11。
1. Tessellation:镶嵌式细分曲面技术(下文做专门解析)
2. Multi-Threading:多线程处理(优化多核CPU)
3. DirectCompute 11:计算着色器(提高后期处理效率)
4. ShaderModel 5.0:着色器模型5.0版(版本性能升级)
5. Texture Compression:纹理压缩(两种新的纹理压缩格式)
事实上,DX11的五大关键特性里面基本都是专门为了优化而生,说白了就是收拾DX10过于冒进而留下的烂摊子,旨在拉显卡兄弟一把。而Tessellation才是真正能帮助游戏画面更完美的核心更新,下面我们就来详细说说它的妙处。
Tessellation有个中文名字叫“细分曲面”,因为它的工作原理基本靠插入大量新的顶点,让模型的曲面更加细腻。
这样一来,很多人认为Tessellation仅仅是将平面细分来算出细致的模型,事实上这个想法在曲面细分技术诞生之初是对的,但是现在最多只能说对了一半。
毫无方向的“曲面细分”,无助于提升画质,只会闹笑话
因为如果是这么简单的话,Tessellation技术就没有什么实际意义,举个例子大家都会明白。由100个三角形组成的模型,还是免费的将它升级到100000个三角形,但是这个模型如果是个怪兽,我们不再需要圆滑,而是丰富可信的细节,这100000个多边形能有什么作用?
Tessellation牛就牛在它是完全可编程的,换句话说,那就是随机应变的——它提供了多种插值顶点位置的方法来创造各种曲面:
很多用户都知道凹凸贴图(Bump Mapping)、法线贴图(Normal Mapping)等技术,可以通过贴图的方式提升模型的细节。但是这些贴图技术说白了只是在模型表面贴了一层涂料来欺骗我们的眼睛,物理模型本身形状没有任何变化。这样做的结果就是,进行深度较大的视角偏移或者拉近观看,很容易看出破绽。就算请了董卿去,最后终究是要露馅的。
相比之下,曲面细分就实诚的多了。
它可以读取发现贴图的信息,实现真实的顶点位移,直接对模型的外形产生影响,让模型具备真实可信的细节。这个程序模块有多复杂,我不得而知。但是结果就是,这些大量多边形产生模型顶点位移对系统资源占用极小,甚至我们可以认为它的开销是免费的。
如果你还没听明白,就看看上面这幅图。
置换贴图是通过一张黑白贴图,通过颜色深浅的不同来确定对应的顶点的偏移量,控制曲面细分去产生新的顶点,制造出新的模型。
有了它,曲面细分终于可以大展拳脚了!
通过细分曲面新产生的大量新顶点都是实际存在的,也就是都有三维空间坐标,通过程序的控制,让它再没事位移一下也就不难了。
为什么要让它位移呢?
因为拟真游戏追求的是逼真,而自然界不光是由固体组成,还有液体和气体。
本来为了让物理模型更加细致的一个技术,能用到这个份上,算是意外的惊喜了。
至于这个技术是怎么实现的我们也不用去钻牛角尖了,总之那些工程师不是吃干饭的。至少研究DX11的那些不是。他们不满足已有的成功,通过程序控制那些细分出来的顶点。这样一来,就轻而易举(希望微软的技术开发小组看不懂中文)的实现了动态效果,比如说水面或者飘动的旗帜。
开启曲面细分左右形成鲜明对比
照片级别渲染,几乎可以以假乱真
通过Occean technology demo这个测试可以非常明显的观察到,打开曲面细分技术,海面将呈现出明显不同的变化。特别是当级数提升后,海面的细节就变得极为丰富逼真。在曲面细分技术出来之前,这个效果是绝对不敢想象的。
当然也不是完全没有,《Crysis》中,Crytek2引擎就采用了一种叫做Screen-Space Tessellation的技术,但归根结蒂这也是曲面细分,从这方面讲当年Crysis开发组可谓比微软眼光要超前。
与流体表面相类似,通过曲面细分技术,我们还可以得到更加真实的其它物理运算效果。这就取决于你用什么去控制曲面细分了,如果加入重力函数,加入空气流体特性函数,那飘扬的旗帜就是小菜一碟了。
同样,因为上文说到曲面细分近似“免费”的性能,我们可以肆无忌惮的将其利用到极致,比如上图中人类头发的效果,它们都拥有了更自然顺畅的飘动效果。这是因为,他们每根头发都是独立的模型!当然,是“免费”的,如果人工去做,那卡梅隆也负担不起这个成本。
到这里大家知道为什么AMD和NVIDIA在真假DX11上干的那么起劲了吧,这个玩意的确有化腐朽为神奇的能力,也是DX11的“招牌动作”。
对于本次测试的高端显卡,为了尽量避免处理器和内存出现性能瓶颈,测试平台我们选择了高端的i7 965+X58+三通道这样的组合,内存使用了口碑不错的CORSAIR(海盗船)DDR3 1600 6GB(2GB×3条)。
● 详细配置如下表所示:
PCPOP.COM | |
硬 件 系 统 配 置 | |
处理器 |
Intel Core i7 965 |
(4核 / 8线程 / 133MHz*24=3.2GHz / 8MB缓存) | |
主 板 |
华硕 X58 |
(Intel X58+Realtek ALC889 8声道音效芯片) | |
内 存 |
DDR3 1333 6GB(2GB×3条) |
(9-9-9-24-2T) | |
硬 盘 |
Seagate Barracuda 7200.12 SATA |
(1TB / 7200RPM / 32M缓存 / NTFS系统分区) | |
电 源 |
Tagan BZ1100W |
六路+12V联合输出功率960W,单路+12V最大电流20A | |
显示器 |
ASUS |
(24英寸LCD / 1920*1200分辨率) | |
软 件 系 统 配 置 | |
操作系统 |
Microsoft windows7 |
(中文版 / 64BIT 旗舰版) | |
驱动 |
AMD 10-12_vista64_win7_64_dd_ccc_enu |
NV266.56_desktop_win7_winvista_64bit_english | |
游戏信息获取 |
Fraps |
版本号3.1.2 | |
显卡信息获取 |
NVIDIA Insperctor |
版本号1.90 | |
处理器信息获取 |
CPU-Z |
版本号1.53 |
对于入门级的显卡,这次测试选择了中高端主流的Core i7 + P55平台,性能并不输给三通道X58平台,价格便宜不少而且功耗发热很低,而且不会让人们显卡有瓶颈产生。
软件环境方面,本次测试依然采用Windows 7 x64操作系统,N卡测试采用NVIDIA的支持GTX 560 Ti的最新驱动266.56,A卡测试驱动则采用通过WHQL验证的催化剂10.12。
《3DMark Vantage》从推出到现在已经很长时间了,从它的表现来看,没有人怀疑它对DX10显卡性能测试的权威性。因为这已经被很多游戏所印证。
软件介绍:做为目前最为权威的性能测试软件,3DMark Vantage在3D基准性能测试,可以全面准确的得出显卡的真实性能,所以在历次测试中都少不了它的加盟。3DMark Vantage所使用的全新引擎在DX10特效方面和《孤岛危机》不相上下,但3DMark不是游戏,它不用考虑场景运行流畅度的问题,因此Vantage在特效的使用方面比Crysis更加大胆,“滥用”各种消耗资源的特效导致Vantage对显卡的要求空前高涨。
画面设置:3DMark Vantage中直接内置了四种模式,分别为Extreme(旗舰级)、High(高端级)、Performance(性能级)和Entry(入门级),只有在这四种模式下才能跑出总分,如果自定义模式就只能得到子项目分数了。我们此次测试选择了Extreme(旗舰级)进行测试。
作为DX10时代的性能基准,3DmarkVantage的成绩非常具有说服力。在很多玩家心中,它是衡量显卡性能的最重要指标,没有之一。
Tessellation如此重要,所以首款DX11测试程序——Heaven Benchmark中,几乎所有的场景都是由Tessellation技术动态生成的,地图中央的飞龙,和周围凹凸不平的砖墙、石阶和瓦片给人留下了深刻的印象。
游戏介绍:Unigine Engine率先发布了首款DX11测试/演示程序——Heaven Benchmark,其中大量运用了DX11新增的技术和指令,看来在新版3DMark11面世之前,Heaven将会是DX11性能测试的非常好的选择。
Heaven Benchmark 1.0和2.0的Tessellation细分程度对比
在这幅图中,大家注意观察左侧的墙壁(以及凸出石块的阴影)、右侧的台阶和下方的鹅卵石路,Tessellation技术生成的是实实在在的顶点和曲面,所有的岩石、台阶和石块都是独立存在,而不再是平面上的虚拟贴图而已。
画面设置:2.1版本进一步强化了Tessellation技术的应用,细分精度更高,画面更上一层楼。
Heaven 2.1的测试过程比较漫长,总共有多达26个场景(视角),测试结果比较稳定,误差小。在开启最高曲面细分效果以后,A卡遭遇瓶颈,全部沦陷。
在另一款标杆性DX11游戏《Stone Giant》中,通过曲面细分+置换贴图达到了的画质提升同样非常显著,整个场景的细节程度获得大幅加强,让画面更加逼真。
游戏介绍:游戏引擎开发商BitSquid与游戏开发商Fatshark近日联合公布了一个展示DX11强大技术的DEMO。这个名为《StoneGiant》(石巨人)的DEMO,可以让玩家来测试自己PC显卡的DX11性能。BitSquid Tech即将提供PC平台的引擎,并且大概在今年第三季度将提供PS3和Xbox 360等其他平台的引擎。
置换贴图由于需要大量的顶点去进行位移,所以需要模型具备足够数量的多边形,而曲面细分做的事情也正是如此,这也就成为了它提升画面质量的第二重作用。
画面设置:StoneGiant是一款重量级的DX11测试软件,之所以这么说是因为它大量使用了DX11的招牌特效:曲面细分和景深特效,可以让显卡的DX11性能表露无遗。进入之后可以选择开启关闭Tessellation以及DOF(DX11级别景深)进行测试,这两项技术都十分消耗资源,尤其是同时打开时。其中Tessellation技术对画质的改善最为明显,测试时默认开启Tessellation、打开DOF进行测试。
测试方法:游戏自带Benchmark。
看得出来,A卡的“压力”确实很大,DX11特效使用的越多,其表现就越差,这是架构使然,因为HD5000/6000中均只有一个曲面细分单元,已经很难满足一些DX11游戏大量曲面细分的需要了。
游戏介绍:《科林麦克雷》系列游戏是为纪念去世的英国拉力赛车手科林·麦克雷(Colin McRae)而制作的,因此在游戏过程中不难见到许多麦克雷过往的身影。与一年一款的优品系列赛车游戏不同,DiRT2距离前作已经两年之久,目前《科林麦克雷:尘埃2》主机版早已上市,几乎登陆所有的主机和掌机平台、好评如潮,而PC版由于支持DX11的缘故,所以被延期数月。
水和赛车的力反馈互动
画面设置:DIRT2堪称DX11游戏代表作,DX11的五大关键特性在这款游戏中都有体现,但却没有得到大范围的应用,都是点到为止。比如Tessellation主要体现在水洼和旗帜上,而赛车过程中也就那么几处采用了该技术,因此这款DX11的要求并不高,特效全开的话中端显卡都能跑动。
测试方法:游戏自带Benchmark程序,会自动跑完一个固定的赛道,非常接近于真正玩游戏的模式,最后得出平均FPS和最小FPS。
尘埃2作为最早发布的DX11游戏之一,画面表现非常出众,在HD5000时代曾一度陪伴宣传团队,说它是A卡御用游戏也不为过。但时过境迁,当NVIDIA的DX11显卡问世之后,尘埃2却成了NVIDIA主场,实在是造物弄人。
3DMark11的测试重点是实时利用DX11 API更新和渲染复杂的游戏世界,通过六个不同测试环节得到一个综合评分,藉此评判一套PC系统的基准性能水平。
● 3DMark 11的特色与亮点:
1、原生支持DirectX 11:基于原生DX11引擎,全面使用DX11 API的所有新特性,包括曲面细分、计算着色器、多线程。
2、原生支持64bit,保留32bit:原生64位编译程序,独立的32位、64位可执行文件,并支持兼容模式。
3、全新测试场景:总计六个测试场景,包括四个图形测试(其实是两个场景)、一个物理测试、一个综合测试,全面衡量GPU、CPU性能。
4、抛弃PhysX,使用Bullet物理引擎:抛弃封闭的NVIDIA PhysX而改用开源的Bullet专业物理库,支持碰撞检测、刚体、软体,根据ZLib授权协议而免费使用。
● 3DMark 11 Extreme模式设置:
● 3DMark 11 Extreme模式成绩:
不是道是3Dmark11为了兼顾目前依然服役的老游戏,还是对DX11的特效不屑一顾。总之在3Dmark11中,N卡全线产品前所未有的萎靡,和之前的表现判若两人……
游戏介绍:《战地:叛逆连队2》(Battlefield: Bad Company 2),是EA DICE开发的一款第一人称射击游戏。开发商EA已经于本月2日正式同步发售了Xbox 360、PS3、PC版。该游戏是EA DICE开发的第9款“战地”系列作品,也是《战地:叛逆连队》的直接续作,在继承前作特性的基础上,强化了多人联机载具对战和团队合作元素的设定。游戏使用加强版的寒霜引擎,加入了建筑物框架破坏和物体分块破坏的支持。
画面设置:《叛逆联队2》虽然是款DX11游戏,霜寒引擎也是备受期待的DX11引擎,曾被ATI用来做Tessellation的技术展示。不过最新版本的对DX11的支持非常有限,仅仅是采用新指令集渲染HBAO特效而已,游戏会自动侦测显卡的DX级别来选择渲染模式。
测试方法:游戏不带Benchmark,笔者选取了单人任务模式下的一段无需手动干涉的过场动画进行测试,其中包括大量激烈的轰炸爆破激战场面,完全可以反映真实的游戏性能。
作为一款DX11大作,叛逆连队的画面堪称精美,而且游戏效率很高,开启全部特效以后,高端显卡还是可以流畅的运行这款游戏。但两款入门级显卡虽然调小分辨率,还是很难胜任,游戏不时会出现卡顿的情况。
DX11大作《地铁2033》就使用了DX11级别的景深效果,清晰和虚化合理分配、主次分明,再搭配Tessellation技术的辅助,几乎接近与电影的拍摄效果,看起来有种赏心悦目的感觉。但该游戏由于使用了太多尖端图形技术,所以要求非常苛刻。
游戏介绍:《地铁2033》(Metro 2033)是俄罗斯工作室4A Games开发的一款新作,也是DX11游戏的新成员。该游戏的核心引擎是号称自主全新研发的4A Engine,支持当今几乎所有画质技术,比如高分辨率纹理、GPU PhysX物理加速、硬件曲面细分、形态学抗锯齿(MLAA)、并行计算景深、屏幕环境光遮蔽(SSAO)、次表面散射、视差贴图、物体动态模糊等等。
开启景深,模拟镜头感
画面设置:《地铁2033》虽然支持PhysX,但对CPU软件加速支持的也很好,因此使用A卡玩游戏时并不会因PhysX效果而拖累性能。该游戏由于加入了太多的尖端技术导致要求非常BT,以至于我们都不敢开启抗锯齿进行测试,只是将游戏内置的效果调至最高。游戏自带Benchmark,这段画战斗场景并不是很宏大,但已经让高端显卡不堪重负了。
测试说明:如果说是CRYSIS发动了DX10时代的显卡危机,那地铁2033无疑是DX11时代的显卡杀手!地铁2033几乎支持当时可以采用的所有新技术,在画面雕琢上大肆铺张,全然不顾显卡们的感受,和CRYSIS如出一辙。然而CRYSIS靠着特效的堆积和不错的优化,其惊艳绝伦的画面和DX9C游戏拉开了距离,终究赚足了眼球;而地铁则没有这么好运了,画面固然不差,BUG却是很多,招来了大量的非议。
特效的滥用,超大的纹理和复杂的模型,也许4A Games本来就没打算让这款游戏流行。本次测试我们使用4AA抗锯齿+全特效来考验高端显卡,而经过多款驱动的不懈优化,现在中高端显卡玩地铁2033终于像是一款游戏而不是幻灯片或者别的什么了,但是离流畅还有距离。
《Lost Planet2》是一款具有光荣传统的游戏大作,在DX10时代就以率先支持DX10技术而著称,在DX11时代已然延续了对技术快速提供支持的风格,率先利用了DX11及曲面细分效果,使得游戏画面再次获得提升。
游戏介绍:《失落的星球2》的游戏舞台是前作故事发生后十几年之后经过温暖化改变的EDN-3rd,这里将新增丛林等新场景,主人公也并非前作那样为一人,而是以“雪贼”们不同的视点展开故事。
画面设置:与前作相同,《失落的星球2》采用CAPCOM公司原创引擎MT Framework的最新版VER.2.0进行开发,游戏世界的表现将更加细致和美丽。而不仅仅是画面上的进化,本作将会在前作玩家要求基础上追加大量全新要素,新场景、新角色、新武器等自不必说,角色的动作也比前作更加丰富多彩。
测试方法:游戏自带Benchmark,开启全特效+4AA选择B场景的BOSS战,非常激烈过瘾。
DX11(曲面细分)对于画质的提升作用在真实游戏中得到验证,但酣畅淋漓的游戏体验除了速度外更需要速度加以保证。
这款游戏大量应用最新DX11特效,对显卡要求果然不低,不过和地铁2033等游戏相比,还算可以接受。
由育碧布加勒斯特开发的新一代DX11空战大作——《鹰击长空2》最近放出了这款游戏的测试程序,令玩家们总算初步体验到了游戏的震撼效果。
《鹰击长空2》是一款结合了拟真与空战要素而成的模拟飞行游戏,玩家可驾驶多种高性能战机,在高空中进行巡逻、护航、轰炸等任务。值得一提的是,游戏中的地面场景乃参考GeoEye卫星空照图所构建而成,这项游戏与现实生活的科技结合,让玩家仿佛置身于战机的驾驶舱内,逼真的地表风貌一览无遗。
开启曲面细分,远山更加真实
《鹰击长空2》中玩家不仅将投入到紧张刺激的空战和投弹中,还将亲自负责飞机的起飞和降落工作。E3大展上开发人员展示了飞机在航空母舰上起飞的过程。看上去,起飞的过程和加速一样容易,达到一定的速度,拉起左侧的把手,使飞机起飞。估计整个操纵的难度也会随着游戏的难度而增加,当选择新增加的“真实情景”模式时,应该就更有挑战性了。
这是一款非常受欢迎的空战游戏,同时也是一款N卡支持非常完美的游戏,即使是最弱的GTX 460,在这款Benchmark测试中,表现也很出色。当然所有高端显卡都可以流畅运行游戏。
从某种意义上说,游戏是显卡的另一个生存环境。虽然之前HD5000系列取得了不错的成绩,但API新出之时,游戏厂商对DX11特效还是浅尝辄止,更多的是利用了它纹理贴图倍增的特性,用超大分辨率纹理,较多顶点模型来提高画质。
这样虽然可以最省事的实现高画面,但随着贴图材质不断放大,纹理定址与拾取任务就成倍增长,对显卡性能压力非常大。而把有限的晶体管浪费在负责定址和拾取纹理的TMU、ROP单元是极其不明智的。而且这种做法由于自身极限制约,终究无法实现完全逼真的视觉模拟,更没有效率可言,注定没有更多的空间发展。
用传统贴图的方法,显然无法模拟这样动态的水面
虽然某些场景也可以用人工创造的复杂原始模型+大块材质贴图实现逼真的场景,甚至个别情况下,一流的美工可以让一些伪3D的场景比真3D场景更加养眼,但其中付出的人工成本则是非常巨大和不可再生的,孰优孰劣显而易见。
遗憾的是,千呼万唤始出来的3Dmark11却似乎并没有考虑到这些。从测试成绩我们看到,N卡无论是DX10基准测试,DX11软件测试,还是主流的DX11游戏中,均表现出了不俗的实力,体现出了超强的曲面细分性能。但在3Dmark11中却输给了A卡,和其他多数测试软件以及DX11游戏表现背道而驰!这不禁让我们产生了疑问:我们默认奉为基准的3Dmark11,真能代表显卡的游戏性能么?■<