前言:DirectX10真比DirectX9画质好吗?
2007年是显卡技术从DirectX 9向DirectX 10过渡的一年,在这一年内主流的显卡硬件从DirectX 9技术转到DirectX 10技术,这已经成为时下硬件市场的大趋势。游戏应用软件的反应虽然慢了一些,但也开始向DirectX 10伸出了触角,《失落的星球》、《生化奇兵》、《冲突世界》、《孤岛危机》,一款款DirectX 10游戏大作已经正式上市。
DX9最新游戏大作《虚幻竞技场3》真实画面
10月份后,进入每年游戏大作发布高峰期,全球各大游戏工作室都推出自家2007年的重头作品,《极品飞车11》、《使命召唤4》、《虚幻竞技场3》全面登录市场。在大家满怀期待的试玩这些游戏后发现,游戏画面果然没令大家失望,与之前的公布的游戏宣传图片完全一样,真实渲染效果已经达到CG水平。但令人不解的是,这些原来宣称为DirectX 10的游戏,如今只采纳了DirectX 9技术,反而达到了比DirectX 10游戏首次面世时更令人震撼的效果(孤岛危机除外),而游戏本身对显卡的性能需求相比DirectX 10游戏要来得低很多,难道说DirectX 10真的不如DirectX 9技术实用吗?
在DirectX 10技术发布之前,很多游戏玩家对这项看不懂的技术充满了期待的原因,也是当时官方放出来的画面展示效果截图,给我们带来太了多震撼,那种接近CG画面水平的是每位游戏玩家多年以来一直渴望的游戏效果。今年那种令人期待的游戏画面已经成为现实,但它并不像是DirectX 10或者DirectX 9技术带给我们的,而是《孤岛危机》、《孤岛危机》、《使命召唤4》、《虚幻竞技场3》这些优秀的游戏制作团队带来的?
宣传的精美绝伦画面是迫使游戏玩家为DX10显卡不断掏腰包的主要原因
正因为上面种种原因,越来越多的游戏玩家开始对DirectX 10技术产生质疑,它究竟是一种技术进步呢?还是软件厂商和硬件厂商互相合作,用来刺激消费者不断升级手中硬件的手段呢?今天我们就此话题来做个简单的测试分析。
DirectX 10理论上的进步意义
DirectX 10理论上的进步意义
从官方资料看,DirectX 10技术的作用在于大幅提升游戏性能,将游戏中的3D运算尽可能的转交给GPU处理,进一步解放游戏对CPU的资源占用率。同时它也大幅度增加了游戏画面的复杂程度可拓展空间,可以帮助游戏开发人员画出更精美绝伦的游戏画面。下面让我们来看看DirectX 10技术理论点:
○几何渲染单元
在DirectX 10的图形流水线体系中,最大的结构性变化就是在几何处理阶段增加了几何渲染单元(Geometry Shader)。几何渲染单元被附加在顶点渲染单元之后,但它并不像顶点渲染单元那样输出一个个顶点,而是以图元作为处理对象。图元在层次上比顶点高一级,它由一个或多个顶点构成。由单个顶点组成的图元被称为“点”,由两个顶点组成的图元被称为“线”,由三个顶点组成的图元被称为“三角形”。几何渲染单元支持点、线、三角形、带邻接点的线、带邻接点的三角形等多种图元类型,它一次最多可处理六个顶点。借助丰富的图元类型支持,几何渲染单元可以让GPU提供更精细的模型细节。
几何渲染单元赋予GPU自行创造新几何物体、为场景添加内容的神奇能力。灵活的处理能力使GPU更加通用化,以往很多必须倚靠CPU才能完成的工作,现在完全可交由GPU处理。如此一来,CPU就有更多时间处理人工智能、寻址等工作。更令人惊喜的是,几何渲染单元还让物理运算的加入变得更简单,DirectX 10可创建具备物理特性的盒子、模拟刚性物体,物理运算有望在它的带领下逐渐走向普及。可以预见,借助几何渲染单元这一武器,显卡性能将产生质的飞跃,我们也将体验到速度更流畅、画面更精美、情节更细致的游戏。
○改进的API和驱动效能
我们知道,每一个游戏角色、武器和景物在3D程序中都是一个Object(对象),而每一帧游戏画面就可能出现数百个Object。在显卡工作时,每一个Object都要从应用程序传输到API接口,然后通过显卡驱动程序到达显卡。在现有的DirectX体系中,任何一个Object进行操作或者渲染,都会导致系统资源的额外消耗,游戏的Object越多,所耗费的传递时间就越长,造成的额外消耗也就越多。据统计,现有的DirectX 9图形芯片在工作时,只有60%的性能用于运算3D程序,其余40%的运算能力被白白浪费了!
为了改变这一现状,DirectX 10在渲染程序中采用了动态索引功能,Object被驱动程序自动加载,数据可以分类并连续输入,这样一来,单次传输的数据量就增加了,从而大大降低了额外耗费的时间。通过引入新的API及驱动程序,DirectX 10将图形芯片的执行效能提升至80%。在不增加显卡硬件成本的前提下,显卡性能得到了大幅提升。
○并行引擎支持技术
为了提升多块显卡协作的工作效率,微软在DirectX 10中提出了“Parallel Engine Support(并行引擎支持)”的概念,它可以预先把两个GPU需要的数据分别传输到两块对应的GPU当中,帧渲染将完全由驱动控制和调配,两块显卡的工作强度可以获得很好的平衡。而在目前主从卡的运作模式中,主卡要对从卡框架、渲染数量进行判定,而引入并行引擎支持技术后,主从卡的概念将消失,两块甚至多块显卡的协作威力将充分体现。
○统一渲染架构
DirectX 10最大的革新就是统一渲染架构(Unified Shader Architecture)。目前各类图形硬件和API均采用分离渲染架构,即顶点渲染和像素渲染各自独立进行,前者的任务是构建出含三维坐标信息的多边形顶点,后者则是将这些顶点从三维转换为二维,这样便可以通过视觉欺骗在屏幕上显示出“三维”的场景。与此对应,GPU中也有专门的顶点渲染单元和像素渲染单元来分别执行这两项工作(由于工作量不同,这两种渲染单元的数量不相等,顶点渲染单元通常只有像素渲染单元的1/3~1/2)。在过去几年中,这种分离式设计对计算机图形领域的发展做出了一定的贡献。
不过,微软认为这种分离渲染架构不够灵活,不同的GPU,其像素渲染单元和顶点渲染单元的比例不一样,软件开发人员在编写代码时必须考虑这个比例,这就大大限制了开发人员自由发挥的空间。另外,不同的图形游戏或软件对像素渲染和顶点渲染的需求不一样,导致GPU的运算资源得不到充分利用。为此,微软在DirectX 10中提出了统一渲染架构的思想:在相同物理类型的渲染单元上执行不同类型的渲染程序。换句话说,只用一种渲染单元,让它既能完成顶点渲染,也能完成像素渲染,甚至还能实现几何渲染。这样一来,渲染单元可以得到最大程度的利用,减少了资源闲置的情形。
当然,统一渲染架构也并非完美无瑕。相对顶点渲染来说,像素渲染将面临大规模使用纹理所带来的材质延迟,这是统一渲染架构急待解决的问题。
○Shader Model 4.0
从DirectX 8开始,Shader Model(渲染单元模式)在DirectX体系中的地位就日趋重要,其版本和渲染单元的规格也成为了决定显卡性能高低的关键因素。随着DirectX 10时代的到来,Shader Model也升级到了4.0版本。与Shader Model 3.0相比,Shader Model 4.0有哪些可喜的变化呢?
首先,Shader Model4.0中的指令长度被提升到大于64K(即64×1024)的水平,这是Shader Model3.0规格(渲染指令长度允许大于512)的128倍。显然,Shader Model4.0在为渲染出电影级别的游戏画面做准备。由于渲染指令长度大幅提升,Shader Model 4.0中相应的寄存器规格也有所增强,如Constant寄存器采用16×4096阵列、tmp寄存器则有4096个、input寄存器采用16/32规格等,上述指标都比以前的DirectX有明显的改进。其次,Shader Model4.0在纹理数量方面也有提高。DirectX 10允许程序员在渲染物体时使用128个纹理,而DirectX 9只提供4/16规格,更多的纹理意味着物体表面精度更接近真实,游戏开发者拥有更广泛的选择。
测试过程和硬件平台讲解
测试过程和硬件平台讲解
○测试过程
本次测试我们主要检验的是,DirectX 9与DirectX 10游戏之间的画质效果对比,以及DirectX 9与DirectX 10游戏对显卡的性能要求高低,所以本次测试我们只选择了8800GT一款显卡作为数据的参照物,而《极品飞车11》、《使命召唤4》、《虚幻竞技场3》、《失落的星球》、《生化奇兵》、《孤岛危机》六款游戏才是本次测试的重点。
○硬件平台
硬件平台选用了主流的Intel Core 2 Duo E6700@2.67GHz、XFX 680i和KuK DDR2 8001GB*2,为了保证每相测试成绩的可对比性。其它详细配置如下:
系 统 硬 件 环 境 | |
中央处理器 |
Intel Core 2 Duo E6700@2.67GHz |
|
KuK DDR2 800 1GB*2 |
XFX nForce 680i SLI ( nForce 680i SLI / PCB版本180 / BIOS版本07/11/07 ) | |
|
NVIDIA公版 8800 GT |
Seagate Barracuda 7200.10 SATA | |
电源供应器 |
TT金刚系列W3010 KK500 |
LG(24英寸 |
○
操 作 系 统 及 驱 动 操作 Microsoft NVIDIA Forceware for nForce 600 NVIDIA Forceware for Geforce 8 1680*1050_32bit 60Hz
( 中
( WHQL / 系统自带 )
( Beta / 版本号163.75 )
生化奇兵 孤岛危机
游 戏 测 试 软 件
3D
DirectX 9
使命召唤4
DirectX 10
失落的星球
测 试 辅 助 软 件 | |
速度 |
Fraps |
超频软件 |
Rivatuner |
DX9与DX10画质对比(纹理渲染和雾化处理)
DX9与DX10画质对比(纹理渲染和雾化处理)
物品的细节渲染对游戏真实性起到至关重要的影响,而烟雾效果的处理高低决定着是否能衬托出游戏的真实氛围,下面我们看看3款DX9游戏和3款DX10游戏的效果对比。
《极品飞车11》中物体纹理渲染细节
物体纹理渲染细节方面,《使命召唤4》、《虚幻竞技场3》、《失落的星球》、《孤岛危机》四款游戏表现最好;雾化处理效果几款游戏相差不大,《使命召唤4》在方面最为突出。
DX9与DX10画质对比(光影效果)
DX9与DX10画质对比(光影效果)
光影效果是游戏能给带给用户视觉冲击力最明显的武器,但是DX9和DX10在光影效果中并没有理论上的区别,所以DX10的光影效果也可以通过DX9去实现。
几款游戏中,除《极品飞车11》在光影效果中表现较差外,其它游戏水平相差不大。
DX9与DX10画质对比(天空和水面细节表现)
DX9与DX10画质对比(天空和水面细节表现)
游戏3D处理效果中,天空的处理是最为简单的,而水面的处理则是最复杂的,下面我们看看六款游戏在这方面的差异。
《极品飞车11》的天空云雾表现
天空云雾表现《孤岛危机》和《极品飞车11》最为突出;水面细节表现《虚幻竞技场3》和《生化奇兵》表现上佳,《孤岛危机》堪称完美!
DX9与DX10游戏效能测试
DX9与DX10游戏效能测试
理论上来说,DX9要实现一个完美的游戏效果,运算起来非常复杂,而DX10游戏要实现同样的效果,运算起来简单很多。也就是说在画质相当完美的游戏中,DX10游戏要比DX9拥有更低的显卡性能需求,为此我们拿GF8800GT来测试以上六款游戏!
虽然这样的对比不是很合理,但是通过游戏帧数我们可以看到,DX10游戏的对显卡的性能要求相比DX9游戏高太多了,这完全不符合理论!
文章测试总结:
文章测试总结:
通过这次DirectX9与DirectX10游戏画质横向对比测试,我们发现一些实际与理论上的偏差,其主要观点如下:
○当前DirectX10未必一定比DirectX9好
DirectX9是五年前的API接口技术,DirectX10是今年才推行的API接口技术,按照常理来讲DirectX10画质效果应该是好于DirectX9几倍才对,很多用户购买DirectX10显卡也是根据这样的逻辑。但是通过前面的画质对比我们可以看到,六款游戏除《孤岛危机》能称得上当前画质最完美的游戏,体现DirectX10技术带来的不一样效果外,其它五款游戏却很难通过画面区分谁是DirectX10谁是DirectX9。
○DirectX10真实与理论有偏差
按照官方宣传来说,DirectX10技术将使显卡性能产生质的飞跃,在游戏中可体验到更流畅的速度,获得更精美的画面,但实际上通过几款DirectX10游戏的试玩,我们并没有获得画质飞跃的感觉,到是感觉游戏对显卡性能要求极高。如果把游戏速度作为考察游戏性的条件,就目前而言DirectX9游戏相比DirectX10游戏,游戏性反而会更好一些。
○物理效果的改善是DirectX10最大进步
当然我们不可否认DirectX10的进步,毕竟在物理效果方面,它的确有了质的改变,《孤岛危机》这款游戏在这方面体现特别明显,建议广大游戏玩家不妨亲身体验。
写在最后:虽然目前DirectX10技术的表现有些令我们失望,但是历史证明任何新技术的推广肯定有个过程,只是时间的长短罢了。相信有一天DirectX10技术带我们的不仅是更真实的游戏画面,而且能让显卡执行更高的效率,让我们不会在去提起DirectX9。
- 相关阅读:
- ·战地4复杂游戏彩蛋曝光 你能完成吗?
//vga.zol.com.cn/559/5599251.html - ·爽玩多屏游戏 华硕猛禽GTX980Ti售5699
//vga.zol.com.cn/559/5597889.html - ·横扫游戏显神威 耕升GTX970关羽售2499
//vga.zol.com.cn/559/5595834.html - ·WCA落下帷幕 选择热门显卡一起奋战游戏
//vga.zol.com.cn/559/5595227.html - ·《辐射4》成为英国亚马逊最受欢迎游戏
//vga.zol.com.cn/559/5591203.html