泡泡网显卡频道 PCPOP首页      /      显卡     /      评测    /    正文

真DX11架构发威!HD5000输的心服口服

    泡泡网显卡频道4月2日 万众期待的NVIDIA新一代旗舰级显卡GTX480终于在前几天正式发布,这款显卡是NVIDIA首次在旗舰产品中采用40nm工艺制程以及GDDR5显存颗粒的产品,并且在技术方面还首度支持C++代码以及DX11图形API等。由以上这些重大的改进不难看出,GTX480不仅是NVIDIA的一款革命性的产品,同时也标志着显卡全面进入了DX11及通用渲染时代。

    从DX10到DX10.1再到DX11,转眼间显卡已经在短短3年的时间内发展到了第四代,但有经验的读者应该可以发现,之前AMD及NVIDIA的大多数产品都是在原有基础上做出轻微改进,并且对流处理器的排列组合做了一些微调,但整体架构没有本质变化。而到了DX11时代,NVIDIA认为旧的架构已经不适合新技术和新游戏的需要,于是采用全新GF100架构的GTX480诞生了。

    实际上不同的应用人群对于新产品自然有不同的标准来衡量,而对于面向于高端游戏玩家的GTX480来说,衡量其好坏的标准自然是游戏画面是否逼真以及在较高画质下运行是否流畅。在本文中小编就通过对DX11的特性、画质以及性能等方面进行分析,最后来告诉大家在新一代DX11旗舰显卡中,GTX480是否真的值得购买!

● AMD和NVIDIA面对DX11时,设计理念截然不同

    从DX10到DX10.1再到DX11,转眼间显卡已经发展到了第四代,但有经验的读者应该可以发现,ATI的新产品只是在R600核心的基础上添加新的ShaderModel指令集并扩充流处理器规模而已,对于GPU图形架构的改进十分有限甚至原封未动。

    NVIDIA方面也是如此,G92/GT200相对于G80也只是强化了并行计算架构,虽然对流处理器的排列组合做了一些微调,但整体架构没有本质变化。但到了DX11时代,NVIDIA认为旧的架构已经不适合新技术和新游戏的需要,有必要对GPU架构进行大幅度的改进、甚至是重新设计。

为GT200架构添加DX11和Tessellation支持是很容易的

    实际上G80和GT200的架构也是非常优秀的,ATI即便有DX10.1的辅助,同时代产品都没能占得任何便宜。ATI沿用R600的架构推出了DX11产品,按理说NVIDIA为GT200添加DX11支持也不是什么难事,性能也不会差,那为什么NVIDIA不这样做呢?

    因为NVIDIA发现了GPU新的瓶颈:从NV30到GT200核心,GPU的渲染能力提升了150倍,但几何性能的增长居然连3倍都不到!这个问题此前未能得到重视,因为游戏中的几何图形转换大多交给CPU来计算,而到了DX11时代,新增的Tessellation技术对GPU几何图形处理能力提出了新的要求,此时如果继续沿用上代架构显然会制约DX11性能,成为新的瓶颈!

GTX480的几何性能达到GTX285的8倍之多!

    于是GF100架构应运而生了,NVIDIA没有像对手那样以新瓶装旧酒的方式加入DX11支持,而是将整个GPU架构推倒重来,完全针对Tessellation技术而优化设计,确保拥有最强的DX11性能。

    下面我们就来看看NVIDIA是如何做到的?与AMD的图形架构有何不同?

流处理器倍增只是量变,架构的革新才是质变

    不管GPU架构改不改,流处理器数量总是要扩充的,准确的说是以级数规模增长,这样才能大幅提升理论性能。我们知道,从RV770到RV870,AMD将流处理器数量翻了一倍;从GT200到GF100,NVIDIA也将流处理器数量翻了一倍(从240到512个,但GTX480只开启了480个)。

    但我要说的是,流处理器数量的变化只不过是量变,而GPU架构的改变才是质变。现在我们就来看看RV870与GF100架构上的改进,并进行对比。

RV870有一个装配引擎,内含两个Rasterizer和Hierarchial-Z

RV870的双核心模块设计

    ATI RV870包括流处理器在内的所有核心规格都比RV770翻了一倍,ATI选择了“双核心”设计,几乎是并排放置两颗RV770核心,另外在装配引擎内部设计有两个Rasterizer(光栅器)和Hierarchial-Z(多级Z缓冲模块),以满足双倍核心规格的胃口。

GF100有四个光栅引擎,内含四个Rasterizer和Hierarchial-Z

GF100可以看作是四核心设计

    如果说RV870是“双核心”设计的话,那么GF100的流处理器部分就是“四核心”设计,因为GF100拥有四个GPC(图形处理器集群)模块,每个GPC内部包含一个独立的Raster Engine(光栅化引擎),而以往的GPU(比如RV870和GT200)都是整颗共享一个Raster Engine。

    我们知道RV870的Rasterizer和Hierarchial-Z双份的,而GF100则是四份的,虽然命名有所不同但功能是相同的。

★ 光栅引擎的作用

    Raster Engine由三个流水线阶段组成。在边缘设置阶段中,可提取顶点位置、计算三角形边缘方程。没有朝向屏幕方向的三角形都通过背面剔除而删掉了。每一个边缘设置单元在一个时钟周期中最多都能够处理一个点、线或三角形。光栅器(Rasterizer)为每一个基元而运行边缘方程并计算像素的覆盖。如果开启了抗锯齿功能,那么就会为每一个多采样以及覆盖采样执行覆盖操作。每一个光栅器在每个时钟周期内均可输出8个像素,整个芯片每个时钟周期内总共可输出32个光栅化的像素。光栅器所生成的像素将被发送至Z坐标压缩(Z-cull)单元。Z坐标压缩单元获取像素图块(Pixel Tile)并将图块中像素的深度与显存中的现有像素进行比较。完全处于显存像素后面的像素图块将从流水线中剔除,从而就不再需要进一步的像素着色工作了。

    Raster Engine的主要功能就是边缘侦测、消隐与坐标压缩,因此会严重影响GPU在超高分辨率下的图形性能、显存利用效率、以及抗锯齿的效率和画质。

GF100是真正四核心的GPU

    GF100的四个GPC是完全相同的,每个GPC内部囊括了所有主要的图形处理单元。它代表了顶点、几何、光栅、纹理以及像素处理资源的均衡集合。除了ROP功能以外,GPC可以被看作是一个自给自足的GPU,所以说GF100就是一颗四核心的GPU。

这是GF100的一个GPC

    在每个GPC内部,是由四组SM共享一个Raster Engine,现在我们进一步细分GF100,来详细看看SM的结构。

GF100对比RV870:几何引擎16:1

    GF100与上代的GT200和上上代的G80相比,SM的变化非常大。GF100每组SM当中拥有32个流处理器,而GT200/G80的每组SM都是8个流处理器。在SM内部流处理器数量翻三倍的同时,GPC/TPC的构成也发生了变化,G80每个TPC内部拥有2组SM,GT200是3组SM,而GF100每个GPC内部则是4组SM。

GF100每组SM内部都包含了一个多形体引擎

    GF100与GT200最大的不同其实就是PolyMorph Engine,译为多形体引擎。每个SM都拥有一个多形体引擎,GF100核心总共有多达16个。那么多形体引擎是干什么用的呢?为什么要设计如此之多?

★ 为什么要设计多形体引擎?

    之前的GPU架构一直都使用单一的前端控制模块来获取、汇集并对三角形实现光栅化。无论GPU有多少个流处理器,这种固定的流水线所实现的性能都是相同的。但应用程序的工作负荷却是不同的,所以这种流水线通常会导致瓶颈出现,流处理器资源未能得到充分利用。

    实现光栅化并行处理的同时还要保持API的顺序是非常困难的,这种难度阻碍了这一领域的重大创新。虽然单个前端控制单元的设计在过去的GPU中曾有过辉煌的历史,但是随着对几何复杂度的需求不断增长,它现在已经变成了一个主要障碍。

    Tessellation的使用从根本上改变了GPU图形负荷的平衡,该技术可以将特定帧中的三角形密度增加数十倍,给设置于光栅化单元等串行工作的资源带来了巨大压力。为了保持较高的Tessellation性能,有必要重新平衡图形流水线。

    为了便于实现较高的三角形速率,NVIDIA设计了一种叫做“PolyMorph”的可扩展几何引擎。每16个PolyMorph引擎均拥有自己专用的顶点拾取单元以及镶嵌器,从而极大地提升了几何性能。与之搭配的4个并行光栅化引擎,它们在每个时钟周期内可设置最多4个三角形。同时,它们还能够在三角形获取、Tessellation、以及光栅化等方面实现巨大性能突破。

RV870只有一个控制引擎:

    ATI似乎也意识到了单个装配引擎无法满足如此庞大规模流处理器并行处理的需要,因此设计了两个Rasterizer(光栅器)和Hierarchial-Z(多级Z缓冲模块)。但其它的模块如Tessellator(镶嵌器)、Vertex Assembler(顶点装配器)、Geometry Assembler(几何装配器)都只有一个:

RV870只有一个前端控制引擎

    4:2的光栅化引擎,16:1的多形体引擎(包括Tessellator),GF100的几何图形性能有多么强大已经可以想象。Tessellation作为ATI发明的技术,对于图形渲染流程与负载的改变ATI不会不知道,如此鸡肋的设计只有一个原因,那就是不做任何改动抢先进入DX11时代,至于执行效率问题暂时抛诸脑后。

    NVIDIA则比较务实,他们要的不是抢第一赚噱头,而是做最完美的DX11显卡。当NVIDIA的工程师通过计算机模拟测试得知几何引擎将会成为DX11新的瓶颈之后,毫不迟疑的选择了将单个控制模块打散,重新设计了多形体引擎和光栅化引擎,并分散至每组SM或每个GPC之中,从而大幅提升了几何性能,彻底消除了瓶颈。

    当然这种革命性的设计代价很大,消耗了NVIDIA工程师无数的精力、资源和时间。事实上多形体引擎正是GF100核心最大的变化所在,也是它无法在去年及时发布的本质原因。

GF100对比RV870:L1 L2缓存的设计

    和CPU类似,GPU核心内部也有很多种类的缓存,他们的用途不尽相同,其中一级缓存、共享缓存和纹理缓存位于SM内部,二级缓存则是独立的一块,与光栅单元及显存控制器相连。我们首先来看看GF100的一二级缓存设计:

GF100拥有64KB可动态配置的共享缓存与一级高速缓存

    以往的GPU都是没有一级缓存的,只有一级纹理缓存,因为这些缓存无法在通用计算中用于存储计算数据,只能用于在纹理采样时暂存纹理。而在GF100当中,NVIDIA首次引入真正的一级高速缓存,而且还可被动态的划分其中一部分作为共享缓存使用。

    在GF100 GPU中,每个SM除了拥有专用的12KB纹理缓存外,还拥有64KB容量的片上缓存,这部分缓存可配置为16KB的一级缓存+48KB共享缓存,或者是48KB一级缓存+16KB共享缓存。这种划分方式完全是动态执行的,一个时钟周期之后可自动根据任务需要即时切换而不需要程序主动干预。

    一级缓存与共享缓存是互补的,共享缓存能够为明确界定存取数据的算法提升存取速度,而一级缓存则能够为一些不规则的算法提升存储器存取速度。在这些不规则算法中,事先并不知道数据地址。为了便于大家理解,我们可以把GPU的共享缓存与一级缓存看作是CPU的一级指令缓存与一级数据缓存,当然这样说是不准确的。

    对于图形渲染来说,重复或者固定的数据比较多,因此一般是划分48KB为共享缓存,当然剩下的16KB一级缓存也不是完全没用,它可以充当寄存器溢出的缓冲区,让寄存器能够实现不俗的性能提升。

    而在并行计算之中,一级缓存与共享缓存同样重要,它们可以让同一个线程块中的线程能够互相协作,从而促进了片上数据广泛的重复利用并减少了片外的通信量。共享存储器是使许多高性能CUDA应用程序成为可能的重要促成因素。

GF100拥有768KB全局共享式级高速缓存

    GF100拥有一个768KB容量统一的二级高速缓存,该缓存可以为所有载入、存储以及纹理请求提供服务。二级缓存可在整个GPU中提供高效、高速的数据共享。物理效果、光线追踪以及稀疏数据结构等事先不知道数据地址的算法在硬件高速缓存上的运行优势尤为明显。后期处理过滤器需要多个SM才能读取相同的数据,该过滤器与存储器之间的距离更短,从而提升了带宽效率。

GF100的缓存架构让各流水线之间可以高效地通信,减少了显存读写操作

    统一的共享式缓存比单独的缓存效率更高。在独享式缓存设计中,即使同一个缓存被多个指令预订,它也无法使用其它缓存中未贴图的部分。高速缓存的利用率将远低于它的理论带宽。GF100的统一共享式二级高速缓存可在不同请求之间动态地平衡负载,从而充分地利用缓存。二级高速缓存取代了之前GPU中的二级纹理缓存、ROP缓存以及片上FIFO。

RV870的独享式一二级缓存设计:

    我们再来看看ATI的缓存设计,其中一级缓存部分与NVIDIA类似,每组SIMD阵列拥有32KB的本地共享缓存和8KB的一级纹理缓存,在通用计算中纹理单元可用于负责数据拾取,这样与SIMD捆绑在一起的4个纹理单元可共享8KB的一级缓存。

    RV870总共拥有20组SIMD阵列,这样总共就是160KB的一级(纹理)缓存和640KB的共享缓存。而GF100则拥有1024KB的可动态配置的一级缓存+共享缓存,不但容量更大而且效率更高,另外还有额外的192KB一级纹理缓存。

    二级缓存部分与GT200/G80的设计相同,L2与显存控制器绑定在了一起,每个64bit显存控制器独享128KB L2,四个就是512KB。而GF100拥有单块768KB完全共享的二级缓存,同样是容量更大效率更高。

    可以看出,ATI的一二级缓存都是完全分散的,为了协调一二级缓存之间的数据交换,ATI特意设计了一个可全局共享的64KB数据缓存。至于独享式缓存与共享式缓存的效率与性能,无需多言,大家可参照CPU的发展即可略知一二。

DX11当中最大的改进是Tessellation技术

    正如大多数玩家所想的那样,DX11当中最有价值的技术就是Tessellation技术,因为其它所有的技术用DX10指令集都可以实现,只不过后者速度慢一些而已,唯独Tessellation无可替代,它以较小的性能损失大幅改善了游戏画面,将程序员多年来的梦想变为现实,因此好评如潮。

    但是,Tessellation是一项由竞争对手ATI所倡导,经过多年的改进与完善而来的技术,那么在Tessellation被纳入DX11范畴之后,NVIDIA会不会比ATI做得更好呢?

XBOX360就能支持Tessellation

    Tessellation一词相信大家并不陌生,早在DX9C时代,微软XBOX360游戏主机中由ATI设计的Xeno显示芯片就支持;从DX10时代到DX10.1时代,ATI HD2000/3000/4000系列显卡全都整合了一个叫做Tessellator的模块,虽然当时没有任何游戏能够支持该技术,但ATI通过几个演示Demo展现了Tessellation技术的魅力。

Tessellation技术的鼻祖:TruForm

    事实上,在更早的DX8时代,ATI就已经和微软联手开发了TruForm(N-Patch)技术,也就是Tessellation的前身,并被纳入DX8.1的范畴。但由于该技术有一些不可控制的BUG,因此被DX9和DX10无情的抛弃了。

完美DX10!ATI新王者HD2900XT权威评测

英雄萨姆中枪械模型发生变形现象(不该圆滑的表面被圆滑)

完美DX10!ATI新王者HD2900XT权威评测

CS中人物模型变成了“胖子”(人体又圆又胖)

    Tessellation之所以未成气候,就是因为此前的技术还不够完善,另外GPU处理能力不足也是一大因素,因此ATI即便有微软的鼎力相助,也未能将该技术发扬光大。到了DX10时代,ATI虽然在全线GPU当中整合了Tessellator模块,无奈孤掌难鸣,并没有得到游戏开发商的支持。

    直到DX11时代,GPU自身的性能有了长足的进步,硬件上真正具备了细分曲面的实力,再加上微软重新改写API渲染流程,专为Tessellation开辟了新的着色器,这才让Tessellation技术得以重见天日。

Tessellation:细分曲面的原理

    Tessellation这个英文单词直译为“镶嵌”,也就是在顶点与顶点之间自动嵌入新的顶点。Tessellation经常被意译为“细分曲面”,因为在自动插入大量新的顶点之后,模型的曲面会被分得非常细腻,看上去更加平滑致密。下面这张图形象的反映出Tessellation技术的原理和所实现的效果:

完美DX10!ATI新王者HD2900XT权威评测

Tessellation原始模型——轻度细分——重度细分

    通过上面这张示意图,我们就可以更容易理解Tessellation技术是怎么回事了,它是一种能够在图形芯片内部自动创造顶点,使模型细化,从而获得更好画面效果的技术。Tessellation能自动创造出数百倍与原始模型的顶点,这些不是虚拟的顶点,而是实实在在的顶点,效果是等同于建模的时候直接设计出来的。

    Tessellation技术是完全可编程的,它提供了多种插值顶点位置的方法来创造各种曲面:
 
    1. N-Patch曲面,就是和当年TruForm技术一样,根据基础三角形顶点的法线决定曲面;
    2. 贝塞尔曲面,根据贝塞尔曲线的公式计算顶点的位置;
    3. B-Spline、NURBs、NUBs曲线(这三种曲线均为CAD领域常用曲线,在Maya中均有相应工具可以生成)
    4. 通过递归算法接近Catmull-Clark极限曲面。

    Tessellation技术最初主要被用以“细分曲面”,随着该技术被纳入DX11范畴,得到大范围推广之后,插值顶点的算法也越来越多,因此用途也越来越广,产生了很多非常有创意的应用,在本章后面几节当中笔者会为大家做更详细的介绍。

    Tessellation技术还经常与Displacement Maps(贴图置换)技术搭配使用,从而将平面纹理贴图改造成为具有立体感的几何图形,大大增强3D模型或场景的真实性。

    除了大幅提升模型细节和画质外,Tessellation最吸引程序员的地方就是:他们无需手动设计上百万个三角形的复杂模型,只需简单勾绘一个轮廓,剩下的就可以交给Tessellation技术自动镶嵌,大大提高开发效率;而且简单的模型在GPU处理时也能大幅节约显存开销,同时大幅提升渲染速度!

Tessellation:DX11专门新增着色器

    前面笔者提到过,ATI的HD2000以上级别显卡其实都具备Tessellation的功能,但它们却无法与DX11中的Tessellation技术相兼容。这是因为微软并没有原封未动的将R600的Tessellation技术抄到DX11之中,而是对其进行了优化,使之能与渲染流程完美的结合在一起,可以更高效率的细分出更多的多边形和曲面。

    与DX9C/DX10时代孤零零的Tessellator模块不同,在DX11当中,微软加入了两种全新着色器来全力配合Tessellator的工作,分别位于镶嵌器的前后。

    其中Hull Shader(外壳着色器)用来控制自动生成顶点的数量和算法,也就是Tessellator的细分级别,然后交给Tesselator进行镶嵌处理,最后由Domain Shader(域着色器)按照程序要求生成所需曲面,并自动进行法线平移、置换贴图,产生新的模型。

    与DX9/10中的Tessellation技术相比,DX11新增的两种着色器都受统一渲染架构支配,因此处理能力非常富裕,DX11版Tessellation不仅效率更高、而且细分级别更丰富。但是,更高的细分等级对Tessellator模块本身的处理能力提出了苛刻要求,这需要芯片厂商在设计之初就考虑周全。

    下面,我们就通过2款较为明显的实际案例,来感受Tessellation技术的魅力,来说明游戏厂商和芯片厂商为什么如此重视这项技术。

    首款DX11测试程序——Heaven Benchmark中,几乎所有的场景都是由Tessellation技术动态生成的,其中最有代表性的场景就是地图中央的飞龙,但最具震撼力的是周围凹凸不平的砖墙、石阶和瓦片:

    开启Tessellation后,翼龙身体上的“斑点”变成了“尖刺”,虽然只是一座雕像而已,但怪物明显变威猛了许多。身体各部位包括尖刺的平滑过渡都十分自然,让人找不出任何模型设计的缺点,看来Tessellation自动插入顶点并细分曲面在实际应用中相当智能。

    在这幅图中,大家注意观察左侧的墙壁(以及凸出石块的阴影)、右侧的台阶和下方的鹅卵石路,关闭Tessellation时,石块间的缝隙使用传统的视差映射贴图技术渲染而成,也有一定的立体效果,但不够明显,而且缝隙间不存在真正的阴影。视角拉的很近的话,立体效果就会消失,因为那只是欺骗人眼的贴图而已。

    而Tessellation技术生成的是实实在在的顶点和曲面,所有的岩石、台阶和石块都是独立存在,而不再是平面上的虚拟贴图而已。一经对比,视觉反差十分强烈!

    传统的屋顶瓦片就是“纸糊”的,类似与生活中用于糊墙的“砖纹、木纹”墙纸,远看还行近看一点立体感都没有,连小孩子都骗不了。经过Tessellation技术处理后,凹凸不平、错落有致的瓦片震撼登场!

视察映射贴图生成的砖墙效果

    在以往的游戏中,多是以高精度的纹理贴图来欺骗玩家的眼睛,使得周围环境看上去更真实一点。只有以《孤岛危机》、《狂野西部》、《潜行者》为代表的次世代游戏才使用了“虚拟位移贴图”或“视察映射贴图”这种高级特效,生成有一定立体感的砖墙或缝隙。

使用Tessellation替代传统的虚拟贴图,层次感更强

    而Tessellation技术的出现,则终结了一切虚假贴图,达到了完全真实的凹凸效果,让游戏朝着虚拟现实方向迈进了一大步!

    随风飘扬的衣物和旗帜一直都是3D渲染的难题,此前想要达到逼真的布料效果,必须使用物理加速技术。虽然物理引擎可以达到和谐自然的动态效果,但衣物本身的细节还不够丰富,原因是游戏不可能将一块小小的布料做得太过复杂,这样会消耗太多的资源,得不偿失。

    有了Tessellation技术之后,可以一定程度上代替物理引擎,不仅可以大幅加强布料本身的细节、实现动态逼真的效果、而且消耗资源很少,可谓是一举三得。

    在DX11代表作《科林麦克雷:尘埃2》中,就大量使用了Tessellation技术,虽然细分级别并不高,但其魅力已经显露无疑。

DX9模式下的旗帜,这是它的原始模型,非常简陋

DX11模式下的旗帜,静态和动态效果都不错,当然细分级别感觉还不够

    在线框模式下我们可以看到,原本由屈指可数的曲线勾勒出来的旗帜,已经被细分得密密麻麻,此时旗帜的运动细节变得更加丰富,在外力作用下可以产生更逼真的摆动效果。

● Tessellation的妙用:波澜壮阔的水面

    《尘埃2》中,除了旗帜之外,还有一个很有创意的应用,就是用Tessellation构建动态水面:

DX9模式,水洼没有交互效果

DX11模式,车经过水洼时会产生波浪

    《尘埃2》是专为ATI显卡优化的游戏,其中虽然大量使用了Tessellation技术,但都是轻量级的。看完下面这款NVIDIA的演示Demo之后,大家将会对Tessellation技术刮目相看:

关闭Tessellation:一潭死水

打开Tessellation:波澜壮阔的水面产生了

  

关闭和开启Tessellation时场景的复杂程度

Tessellation开到较高级时的震撼效果

    这款Demo的名称叫做Island11,在后文中Demo解析部分,将会有更多精美截图供大家赏析。

● 测试平台

● 测试平台主板介绍

    微星MSI Eclipse Plus主板可支持三个PCI-E 16X插槽,其中第二和第三条由NVIDIA nForec 200芯片提供,而第四条并不是全速的PCI-E 16X。所有的四条PCI-E 16X插槽均为PCI-E 2.0标准。这款微星最高端的主板还配备了X-Fi Xtreme Audio PCIe x1声卡、GreenPower Genie功率输入监控,以及一个D-LED2单色显示屏。D-LED2可以显示一些BIOS的参数,方便用户超频。

● 微软DX11 SDK:SUBD11

    目前支持Tessellation的DX11游戏还不是很多,有些游戏即便支持也应用范围不够广,细分级别也不高,无法反映出显卡的真正DX11性能。因此我们首先通过微软官方的DX11 SDK中的一些样板,来考验N/A双方优异DX11显卡的理论效能。

微软2010最新DX11 SDK中有很多Demo可供参考

    这个小Demo展示了将一个人物细分之后的效果,通过开启或关闭线框模式可以观察Tessellation级别不同时任务模型的变化。除了画质的改变外,FPS的变化也很直观,来看看双方DX11显卡的效能如何:

    SDK默认模式下,也就是Tessellation细分级别为2,GTX480/470领先HD5870/5850的幅度并不大,大幅落后与HD5970。当把级别开至最高的31级时,三款A卡立刻变成了幻灯片,而N卡依然流畅自如。加重Tessellation之后的性能损失幅度简直是天壤之别。

    开启线框模式之后可以直观的看到Tessellation的细分精度,此时进一步加重了显卡的负载,A卡已经完全跑不动了,N卡依然能保证流畅的速度,可供开发人员反复调试。

● 微软DX11 SDK:PN Triangles

    前一个SDK是动态的,这一个是静态的因此要求较低,仅供程序员参考,测试方法与前一个类似,通过调整Tessellation级别和是否开启线框模式来对比FPS。

    在这个Demo中,HD5970的交火无效因此性能还不如HD5870。从成绩来看在轻度Tessellation负载下GTX480/470的优势并不明显,可一旦加重Tessellation负载之后,A卡原形毕露,性能损失惨重。

    开启线框模式之后,即便在较低的Tessellation负载下,A卡已经大幅落后于N卡了,看来HD5000系列不仅Tessellation性能弱于GF100,而且几何性能的差距也非常大。

● NVIDIA SDK:Island11 Demo

    前面几个微软官方的SDK都是基于HD5000显卡而开发的,主要展示了Tessellation技术最基本的应用,通过截图大家可以看到画面比较简单,即便如此GTX480/470已经展现出了过人的实力。

    下面针对NVIDIA官方发布的Demo进行测试,它其实也属于技术型SDK,只不过画面更精彩一些,而且技术应用更高级。

    这就是前文中介绍过的Island11 Demo,水面经过Tessellation细分之后效果非常棒,当然资源开销也比较大。

    HD5000系列Tessellation性能不足的软肋再次展现,完全无法胜任高等级细分级别的需要,以后游戏中要是大量使用Tessellation技术的话,HD5000将会让ATI输的很惨。

    在这款Demo中,N卡的领先优势还没有微软SDK那么大,看来该Demo的确完全按照DX11标准设计,并不存在专门优化N卡劣化A卡之举。

● NVIDIA SDK:Hair Demo

    这个Hair Demo堪称最有创意的Tessellation应用,并没有加入PhysX效果,因此A卡也能运行。

    HD5970的双核心优势未能得到体现,否则应该与GTX470有得一拼。

    Hair Demo非常有意思,简单的说就是使用Tessellation技术将头发数量复制了几十倍,在未来游戏中应该会得到广泛的应用。HD5000的软肋将导致它的DX11效能十分低下,满足不了新一代游戏的需要。

● DX11理论性能测试:《Unigine Heaven Benchmark》

    3DMark Vantage仅支持DX10,连DX10.1都不支持,已经无法反映出新一代DX11显卡的真实性能了,因此我们使用了首款DX11 Benchmark程序,它大量应用了DX11中的关键技术,而且整个场景都使用Tessellation生成,效果非常震撼!

    Heaven Benchmark大量运用了DX11新增的技术和指令,看来在新版3DMark面世之前,Heaven将会是DX11性能测试的唯一选择。就在前几天,Unigine Engine发布了Heaven Benchmark 2.0版,对场景做了一些优化,并加入了细分级别更高的Tessellation模式。笔者对两个版本都进行了测试,用以对比不同Tessellation级别模式下各款显卡的性能表现。

Heaven Benchmark 1.0和2.0的Tessellation细分程度对比

    画面设置:1.0和2.0版特效都开DX11最高模式,其中1.0的Tessellation只有Normal级别,2.0加入了Extreme级别。Heaven Benchmark的测试画面比较苛刻,最高的2560 8AA模式下所有显卡都卡得跑不动,个位数的成绩没有意义,故放弃该模式下的测试。

    测试方法:自带Benchmark,最终或得出稳定的平均FPS值。

    请大家看仔细了,红色代表1.0版本Tessellation负载较轻,绿色代表2.0版本Tessellation负载较重。很明显2.0版本A卡的性能下降幅度非常大,而N卡则没有本质影响。1.0版本中,GTX470都足以挑战HD5870,GTX480则拥有较大优势。在2.0版本中,GTX470完胜HD5870。

    从之前我们的芯片级评测讲过RV870硕大一颗核心只有一个Tessellator模块,而GF100核心则拥有16个之多。显然在重负载的DX11 Tessellation应用中,N卡将会如鱼得水,而A卡则黔驴技穷,软肋暴露无遗。

● DX11游戏:《BattleForge》

    《BattleForge》是EA旗下德国Phenomic游戏制作室研发的全新即时战略网络游戏。在《BattleForge》中,玩家依靠收集、交易卡牌来建立庞大的军队。通过在线赢取、交易和购买卡牌来组成你强大的阵容,混合搭配不同属性的卡牌来和朋友进行在线战斗,或是在大规模的在线战役中取得胜利。

    《BattleForge》本身是一款DX10.1游戏,在HD5870发布当天停机维护一小时后正式加入了DX11模式。虽然这款RTS网游并没有在国内开服运营,中国玩家对其知之甚少,但能够如此神速的对DX11提供支持,而且新增的DX11模式对游戏性能影响非常显著,可以说是检验DX11显卡实力的必测游戏。

    画面设置:从技术角度来讲,这款游戏也非常值得关注,其画面堪称网游顶尖之作,率先提供了对DX10.1技术和屏幕空间环境光遮蔽(SSAO)特效的支持,还针对多核心处理器进行了优化。现在又第一时间对DX11加入了支持,加入了HDAO和DirectCompute,测试时自然所有特效全开最高。

    测试方法:《BattleForge》虽然是款网游,但游戏自带了Benchmark,这给评测带来了很多便利。Benchmark可以测出最大/最小/平均FPS三个数值,笔者连跑三遍Benchmark得到最稳定的成绩,保留了最有参考价值和的平均FPS和最小FPS供大家参考。

    这款带有AMD Logo的游戏对A卡优化支持非常好,此前都是大幅领先于N卡。但GTX480/470发布之后情况立刻发生了逆转:GTX470小胜HD5870,GTX480完胜HD5870。

    如果大家仔细观察绿色成绩的话,就会发现A卡虽然拥有较高的平均FPS,但最小FPS惨不忍睹,在Benchmark激烈的战斗场面中时不时会有卡壳的现象出现,而N卡的发挥则非常稳定,整个测试过程无比流畅。

● DX11游戏:《潜行者:普里皮亚季的呼唤》

    《潜行者》系列游戏现在已经出到第三部了,其中第二部《晴空》是原作《阴影》的前传,而第三部《普里皮亚季的呼唤》则是原作《阴影》的后传,讲述了在变异区中心被发现后,乌克兰政府决定举行代号“航道”的大规模军事行动,目的则是控制变异区的科技,玩家的冒险也就此展开。

    此前《潜行者:晴空》已经率先支持DX10.1,主要优化了抗锯齿算法、阴影渲染和效率,新版的资料片则首次加入支持DX11,通过Tessellation技术大幅加强了模型细节、纹理和光影,而且通过DirectCompute 11技术改进了算法,提升游戏性能。

    画面设置:游戏提供了DX11、DX10.1、DX10、DX9等多种模式,我们将包括透明抗锯齿在内的所有特效全开最高,考验高端显卡在最高画质下的性能表现。

    测试方法:使用官方Benchmark包进行测试。

    在1920分辨率下,测试成绩非常和谐,GTX480与HD5870不相上下,GTX470的表现与HD5850如出一辙,测试结果基本与3DMark Vantage的表现一致。但在2560分辨率下,A卡性能下降幅度比较大。

● DX11游戏:《科林麦克雷:尘埃2》

    《科林麦克雷》系列游戏是为纪念去世的英国拉力赛车手科林·麦克雷(Colin McRae)而制作的,因此在游戏过程中不难见到许多麦克雷过往的身影。与一年一款的优品系列赛车游戏不同,DiRT2距离前作已经两年之久,目前《科林麦克雷:尘埃2》主机版已经上市,几乎登陆所有的主机和掌机平台、好评如潮,而PC版由于支持DX11的缘故,所以被延期至今年12月上市。

    画面设置:DIRT2堪称DX11游戏代表作,DX11的五大关键特性在这款游戏中都有体现,但却没有得到大范围的应用,都是点到为止。比如Tessellation主要体现在水洼和旗帜上,而赛车过程中也就那么几处采用了该技术,因此这款DX11的要求并不高,特效全开的话中端显卡都能跑动。

    测试方法:试玩版Demo自带Benchmark程序,会自动跑完一个固定的赛道,非常接近于真正玩游戏的模式,最后得出平均FPS和最小FPS。

    测试结果与《STALKER:COP》比较类似,GTX480/470并没有像《Heaven》和《BattleForge》中那样神勇的表现,性能只与对手HD5870/5850相近。

    只有在2560 8AA这种极限模式下,A卡可能因为显存管理的问题会出现卡壳的情况,使得最小FPS暴降。

    为什么同样是DX11游戏,GTX480/470的表现会判若两人呢?这主要是因为《STALKER》和《DIRT2》这两款游戏对DX11特效的应用比较少,Tessellation主要体现在人物细节和水面旗帜这种Benchmark场景较少出现的物体上,而HDAO并没有得到全局应用,因此最终性能表现与3DMark Vantage类似。

● DX11游戏:《异形大战铁血战士》

    《Aliens vs. Predator》同时登陆PC、X360和PS3,其中PC版因为支持DX11里的细分曲面(Tessellation)、高清环境光遮蔽(HDAO)、计算着色器后期处理、真实阴影等技术而备受关注,是AMD大力推行的游戏之一,但是这样的主题难免让本作有很多不和谐的地方,暴力血腥场面必然不会少!发行商世嘉在2009年11月就曾明志,表示不会为了通过审查而放弃电子娱乐产品发行商的责任,因为游戏要维持“异形大战铁血战士”这一中心主题,无论画面、玩法还是故事线都不能偏离。

    画面设置:AVP原始版本并不支持AA,但升级至1.1版本之后,MSAA选项出现在了DX11增强特效当中,当然还支持Tessellation、HDAO、DirectCompute等招牌。该游戏要求不算太高,所以笔者直接将特效调至最高进行测试。

    测试方法:游戏不带Benchmark,笔者选取了单人任务模式下的一段片头动画进行测试,该画面具有一定的代表意义,很好的体现了Tessellation异形身体以及HDAO等高级特效。

     GTX470与HD5870不相上下,性能表现与《Heaven》、《BattleForge》比较类似。《异形大战铁血战士》作为AMD力挺的DX11游戏,没想到N卡的表现也如此出色,看来只要游戏使用足够多的DX11或Tessellation特效,那么N卡的效率就会很高,而A卡则会力不存心。

● DX11游戏:《战地:叛逆联队2》

    《战地:叛逆连队2》(Battlefield: Bad Company 2),是EA DICE开发的一款第一人称射击游戏。开发商EA已经于本月2日正式同步发售了Xbox 360、PS3、PC版。该游戏是EA DICE开发的第9款“战地”系列作品,也是《战地:叛逆连队》的直接续作,在继承前作特性的基础上,强化了多人联机载具对战和团队合作元素的设定。游戏使用加强版的寒霜引擎,加入了建筑物框架破坏和物体分块破坏的支持。

    画面设置:《叛逆联队2》虽然是款DX11游戏,霜寒引擎也是备受期待的DX11引擎,曾被ATI用来做Tessellation的技术展示。不过最新版本的对DX11的支持非常有限,仅仅是采用新指令集渲染HBAO特效而已,游戏会自动侦测显卡的DX级别来选择渲染模式。由于该游戏对显卡要求并不高,因此直接开启8AA模式进行测试。

    测试方法:游戏不带Benchmark,笔者选取了单人任务模式下的一段无需手动干涉的过场动画进行测试,其中包括大量激烈的轰炸爆破激战场面,完全可以反映真实的游戏性能。

    由于DX11特效使用并不多,因此GTX285的表现也不错,足以挑战HD5850了。另外值得一提的是,N卡的平均FPS虽然优势并不算明显,但最小FPS却远高于A卡,这与前面几款游戏中的表现类似,看来还是N卡的发挥更稳定一些,能够为玩家带来更流畅的游戏感受,而不仅仅是跑出来的成绩好看。

● DX11游戏:《地铁2033》

    《地铁2033》(Metro 2033)是俄罗斯工作室4A Games开发的一款新作,也是DX11游戏的新成员。该游戏的核心引擎是号称自主全新研发的4A Engine,支持当今几乎所有画质技术,比如高分辨率纹理、GPU PhysX物理加速、硬件曲面细分、形态学抗锯齿(MLAA)、并行计算景深、屏幕环境光遮蔽(SSAO)、次表面散射、视差贴图、物体动态模糊等等。

    画面设置:《地铁2033》虽然支持PhysX,但对CPU软件加速支持的也很好,因此使用A卡玩游戏时并不会因PhysX效果而拖累性能。该游戏由于加入了太多的尖端技术导致要求非常BT,以至于我们都不敢开启抗锯齿进行测试,只是将游戏内置的效果调至最高。

    测试方法:游戏不带Benchmark,笔者选取了单人任务模式下的一段片头动画进行测试,这段画面虽然不是战斗场景并不激烈,但已经让高端显卡不堪重负了。

    终于有一款BT程度完全超越Crysis的游戏了,2560分辨率不开AA的话,所有显卡全部阵亡,此时虽然GTX480/470的表现更出色一点,但也没有什么意义了。这是一款才发布没多久的游戏,相信NVIDIA和ATI双方都没有对该游戏做很好的优化,相信新驱动发布后会有所改观。

    通过之前的游戏测试可以看出,为了抢先发布DX11显卡,ATI几乎没有对上代架构做任何改进,直接添加了DX11指令集就仓促发布HD5000系列,翻倍的流处理器规模让HD5000系列的DX10性能提升不少,在轻负载的DX11游戏中也有出色的表现。但随着游戏加入更多DX11特效之后,HD5000不堪重负了,瓶颈的出现导致性能大幅下降。

    NVIDIA方面,新一代GTX480/470最大的优势则体现在采用大量Tessellation特效的游戏当中,而Tessellation特效正是新一代DX11技术中的精华所在,由此我们可以说尽管AMD抢先半年推出了支持DX11的显卡,但NVIDIA的显卡显然相比竞争对手的产品来说对于DX11的支持要更好。另外从目前越来越多的DX11游戏中,我们已经可以看出在游戏中Tessellation的应用将会更多、更重,因此可以说采用真正DX11架构的GTX480/470显卡在未来优势将近一步体现出来。■<

0人已赞

关注我们

泡泡网

手机扫码关注