洞穿真实“视”界 独显时代来势凶猛

互联网 | 编辑: 2006-07-22 01:00:00原创

“暴风雨到来前的寂静”用这句话形容目前的显卡市场一点都不过分,那么什么是暴风雨?这场暴风雨是否来得猛烈呢?相信读者朋友们读完本篇文章之后就会有自己答案。

新建网页 1

“暴风雨到来前的寂静”用这句话形容目前的显卡市场一点都不过分,那么什么是暴风雨?这场暴风雨是否来得猛烈呢?相信读者朋友们读完本篇文章之后就会有自己答案。

不知大家是否注意到无论NVIDIA还是ATI,他们在宣传自己的产品时,都会以显卡所支持的DirectX版本作为画质优劣的评判标准。DirectX是微软所推出的图形API标准,简单点说显卡支持DirectX版本的高低直接影响显卡在游戏中所表现出的画面效果,如大家熟知Shader Model 3.0、HDR都是最新的DirectX 9.0C才能完美支持的。换一个角度去看的话,如果显卡的硬件设计不能跟上微软的DirectX 研发速度,那么就会造成消费者在买回显卡的第一天就已经过时了,看看现在用Radeon X800系列产品运行帝国时代3时的画面吧,虽然不能用惨不忍睹来形容,但和GeForce 6/7系列显卡运行时的画面相比时的差别还是有目共睹的。

当然除了DirectX以外,影响显卡优劣的技术还有很多,比如双卡互联SLI、四核心显卡技术Quard-SLI、高清晰视频播放加速PureVideo、物理加速等,但是在Vista即将到来之际大家的目光还是被微软的下一代API所吸引。

既然我们知道了DirectX的重要性,那么接下来我就想大家介绍微软下一代的API¬——DirectX 10。

下面我们就通过一问一答的方式为大家介绍DirectX 10的方方面面,其中涉及图形技术的内容可能篇幅会比较长、文字也比较枯燥,有兴趣的话请耐心阅读:

 1. DirectX 10何时发布,与Vista什么关系?
据微软主席盖茨最近一次发言时表示,新一代操作系统Windows Vista有90%以上的可能将于2007年初发布。根据微软的政策,DirectX 10只会集成在Vista系统当中,初期不会发布类似于DX9.0c这样的单独安装版本,也不会支持Windows XP——很显然微软是想依靠DX10 API/硬件/游戏来推动消费者对于Vista热情。


也就是说DX10很可能将于2007年初伴随Vista发布,届时您想要体验DX10游戏的话必须升级到Vista系统,当然一款DX10规格的显卡也是必不可少的!

2. 为什么Vista桌面基于DX9图形技术而不是DX10?

Vista系统并不是因为集成了DX10 API而备受关注,实际上大多数用户都是被其漂亮的3D桌面所吸引。不过令人奇怪的是Vista的3D桌面仅需要DX9规格的显卡就能很好的支持,并不是微软大肆宣扬的DX10,就连DX9C也不是必须,为什么呢?

很多人对于Vista的认识都是因为漂亮的3D桌面

这是因为Vista的3D桌面设计与DX10开发是同步进行的,换句话说就是在DX10开发的同时Vista的3D桌面已经完成。另一方面基于DX9的桌面已经对显卡提出了较高要求,使得IGP厂商对微软极为不满,如果使用DX10 API的话显卡的支持将会跟不上,用户升级系统也会比较困难!

实际上微软对现有的DX9进行了不少优化,以便让3D桌面运行得更好。不过微软打算在Vista发布之后再提供一些桌面的插件或者补丁,将3D桌面完全植入DX10中去,这样新显卡用户将会更好的领略到DX10的新特性!

3. DX10显卡与游戏机比起来有什么优势?
提起PC游戏以及显卡很多人更愿意拿它与游戏机相比,就拿现在来说微软自家Xbox360所使用的图形核心Xenos应该算是最接近DX10规格的GPU了。而Sony PS3所用的图形核心规格也不低,如果拿游戏机硬件和电脑显卡相比的话,DX10能否完全超越游戏机?



当前最接近DX10的GPU——XBox360 Xenos

DX10和Xbox360都是微软自己的产品,微软决不会厚此薄彼或者顾此失彼!据微软表示,DX10的另一大优势就是与Xbox360共享开发平台,这就意味着游戏开发商能够节约大量的时间和资源同时开发Vista和360游戏!让游戏跨平台运行,PC和游戏机互补不足,创造更大的市场,成就微软游戏霸业!



360的USB手柄可以直接用在PC上

微软有多大野心暂且不论,这种统一开发平台无疑备受游戏厂商欢迎,当然对于游戏玩家来说也是大有裨益。DX10之中除了Direct3D之外,还有DirectPlay、Direct Input及DirectMusic,XACT (跨平台音效制作工具)处理动态音效及XInput跨平台游戏控制器。它能够在不同级数的音源输出硬件上保持平衡,也能够随心所欲的在Vista和360上使用喜欢的游戏手柄,在接口方面对于游戏开发者和玩家而言都是统一的标准!

不过无论Xbox360还是PS3的图形核心,都是ATI/NVIDIA DX9C时代的芯片,所以DX10显卡在硬件层面还是图形技术上将会有更广阔的发挥空间:

DX10 GPU拥有更多的渲染流水线,能够处理更多的纹理数据而且在API的支配下效率会很高;DX10还拥有游戏机所不具备的整数指令,开发者可以把整数指令作为浮点运算,但更为复杂;DX10有一个真正的整数指令集,可以尽可能完成更多的寻址计算,更多的数据打包和解包;当然这些功能并不会显示出一些新的图形特效,但它允许开发人员在GPU中高效的完成更为智能、复杂的渲染工作!

前面说了这么多实际上还没有谈及DX10在图形技术方面最诱人之处,那就是Shader Model 4.0以及统一渲染架构:

4. DX10最新图形技术——Shader Model 4.0:
现在大家在选购显卡时都会关注GPU是否支持SM3.0——DX9C所必须的规格,而SM4.0就是一款DX10 GPU必须具备的特性。我们都知道SM3.0相比更早的SM2.0最明显的变化就是支持FP16 HDR技术(实际上SM3.0更多的指令让GPU运行效率也大为改进),带来更绚丽的光影效果,那么SM4.0比SM3.0优势在哪呢?

首先SM4.0规格令游戏程序开发员有更大的空间,例如SM4.0将不再拥有指令数值的上限,而SM3.0指令数不能超过32768条,SM2.0只有96条;色彩深度精确到32Bit;另外Texture由SM3.0的16个提升至128个,并硬件支持RGBE,令HDR不再需要特别的Decoding处理也能实现,HDR+AA将不再有这么多的麻烦。而且DX10将首度实现RayTracing光线追踪,并且将位移贴图Displacement作为标准之一。



DX9与DX10显卡渲染流程简图

对比上代DX9的渲染流程,新一代DX10做了非常大的改动,Pipeline架构完全Shader化,淡化了渲染的慨念,新增了Geometry Shader Stage,它可以为每个顶点的边缘进行几何量Shader运算,在完成Vetex Shader及Geometry Shader Stage后,D3D10可以Stream Output,让结果直接返回流水线作业之初再进行处理,而不再需要先运行Pixel Shader Stage简化的部分程序。以往D3D拥有部分固定的机能,如Fog、Point Sprites、Clip Planes及Alphatest等特定指令,但D3D10将需要程序开发者自行用Pixel Shader语言来实现。

5. DX10最新图形架构——Unified Shader:
SM4.0是DX10最重要的图形技术,不过最受大家关注的技术可能就是Unified Shader(统一渲染)。



传统3D渲染过程:从顶点到多边形,最后进行表面渲染

DX8以来GPU硬件就被分为顶点着色和像素渲染两大部分,分别处理3D建模和表面渲染,由于3D图形渲染的过程就是先建模后渲染,所以这种架构可以说是天经地义。而在DX10中,将不再有像素和顶点之分,听起来有些不可思议,为什么要将它们统一起来呢?



传统GPU渲染存在的问题:像素和顶点未能得到有效利用



像素和顶点的使用率是动态变化的,当前GPU很多资源被浪费



DX10 GPU硬件统一渲染,最大限度调动所有Shader单元

DX10最显著的变化就是完全放弃GPU当中的固定渲染模式,并且支持GPU行为的完全自由化,即GPU不在明确划分像素着色和顶点着色单元,并且支持多种任务,如2D/3D/视频加速等等任务的自由分配。

6. 游戏性能提高8倍——淡化API、驱动和CPU:
微软声称DX10可以将游戏性能最大提高到6-8倍,这个数值看似比较夸张,其实在架构和渲染等多方面的优化条件下,充分发挥GPU的资源是完全有可能的:

为了优化操作系统对游戏的支持能力,Vista加入全新的IHV控制内核及用户模式驱动程式,操作系统提升虚拟化的资料给图形程序及GPU,以加快执行效率及稳定性,配合全新D3D10的程序语言,给程序员更大的设计弹性,更能发挥硬件的应有效能。

DX10不仅仅是微软的一款图形API,广义上来说它包括三个部分:平台(Vista以及DX10 API)、硬件(GPU及显卡)和软件(DX10游戏),三者缺一不可。DX10再怎么先进,最终都要落实在实际游戏上面,那么接下来就为大家列举未来DX10游戏的一些共性:

8. 未来DX10游戏关键字解读:
 More Objects(更多物体):
以往的游戏受限于GPU处理能力,在屏幕内往往只注重于渲染一个或者几个游戏主角,在将主人公活灵活现刻画出来的同时,游戏背景的画面却非常糙,很多游戏背景往往只是一张纸(简单的贴图),这无疑让游戏的效果大打折扣。



DX10游戏Crysis的场面壮观,场景丰富

而新一代DX10游戏能够最大限度的调用GPU的所有资源,加上GPU本身拥有更多的渲染管线,因此游戏开发者得以在同一个屏幕内植入更多的物体,确保游戏主角和辅助元素都享受同等待遇,让画面表现力无可挑剔!

Vegetation/Foliage(植被/树叶):
玩过《上古卷轴4:埋没》游戏的玩家应该有亲身体会,当您走入草木茂盛的地区时,游戏FPS急剧下降,即便是7900GTX和X1900XTX这种顶级显卡,FPS往往降到20帧以下无法流畅玩游戏!

经过实际测试,在游戏其他场景(不进入草丛)FPS能够保持在50帧左右的流畅数值,一旦进入草丛画面卡的不行!这是因为独立渲染的草丛或者树叶是由庞大数量的多边形构成,对GPU的顶点渲染提出了严酷的要求,相对来说并不需要太多像素操作,如此一来大规模的像素渲染被闲置而顶点模块处于不堪重负状态——此刻正是统一渲染架构大显神威之时,如果能够将闲置的像素单元用来处理顶点,那么游戏速度就不会如此可怜了!

不同游戏对像素、顶点、纹理等操作的需求不尽相同,即便是同一款游戏,在不同的场景所需要的渲染负载也不同。正是因为这些特殊要求,早在DX8时代,很多图形开发商就提出了统一渲染架构的设想,现在这种架构即将在DX10 GPU中实现,统一渲染在处理这种草丛或者波浪时将会有显著的效果,游戏开发者也可以大胆的在游戏中添置更多的复杂小物体!

Shadows(阴影):
不论哪个版本的DirectX,不管是哪一代显卡,光与影都是永恒的主题,因为光影最能够对人眼造成刺激,因此也最受关注。

3DMark05与3DMark06同一帧的阴影对比
在我们生活的周围环境有多少光源?谁也数不清楚,因为所有物体都是光源,在所有物体的共同作用下,所有的阴影互相作用,真实地展现在大家面前。然而3D游戏的光源数量大都是固定的,从3DMark05到3DMark06(场景一,都是SM2.0技术),FutureMark将光源数量由8个增加至26个,单纯的增加光源就能够让画面细节表现获得大幅提升,由此可见光与影的重要性!



DX10游戏Crysis的热带雨林渲染,光与影的完美结合!

为了让游戏画面更加真实,就不得不使用更多的光源,交相辉映的阴影营造出来环境就不会显得那么做作,或许未来的DX10游戏您不会特别在意光源与阴影,因为它的真实程度可能已经欺骗了你的眼睛!

Materials(纹理材质):
3D渲染出来的单个物体是否真实,几乎完全取决于纹理材质,只要建模多边形数足够多、贴图足够精细,3D实时渲染要达到真实物体的水准没有多少难度。事实上电影CG特效处理都是通过这种方式渲染而来,然后再加上高倍(64x甚至更高)抗锯齿,这样的3D渲染绝对能够骗过任何人的眼睛!

NV Demo不但采用最新图形技术,而且建模贴图也是最复杂的!

为什么3D游戏不采用这种方式制作更加“真实”的游戏呢?原因很简单,如果做出来一款“完美”的游戏没有任硬件能够跑得动的话,那么它的画面再完美也是一款失败的作品!这是最主要的原因,另一个原因就是如果建模和纹理贴图太过复杂的话,游戏开发进度将会十分缓慢!
这里最合适的例子就是Crytek的《FarCry》这款游戏,Crytek承认《FarCry》是急急忙忙推出的作品,目的是当时作为一个小游戏公司的作品,作为DX9的首发游戏,必须抢在id的《Doom3》和Valve的《半条命2》之前推出,否则就没有市场。Crytek认为如果时间充裕的话《FarCry》的画面可以做得更好。实际上,与大多数游戏比起来,FarCry的游戏场景已经相当出色了!



FarCry中的花草树木只可远观,近看很像是假树

现在看来《Farcry》丛林树叶比较塑料,还不够真实,据悉游戏开发者在研发《FarCry》之时只是在德国一个温室当中对热带植物进行拍照取样。



左边实物右边《Crysis》游戏

而现在Crytek为了研发《Crysis》(FarCry的续作,DX10首发游戏),专门派出团队远赴牙买加热带雨林实地取样,亲历夏威夷群岛拍摄岛屿实景,力图依靠强大的DX10 GPU渲染出接近摄影画面真实场景!

 Physics(物理加速):
水、碰撞、烟雾、爆炸、布料或衣服、头发等等。关于物理加速,在本文下一页将会做详细的分析,因此这里不再重复,先看物理加速的效果:



ATI在Computex上演示的几个物理加速应用Demo

物理加速的概念很早之前就已经提出,然而时至今日依然处于概念性阶段——AGEIA的物理加速卡仅有几款游戏能够支持,而ATI的GPU物理加速才刚刚进行完Demo演示,NVIDIA的SLI物理加速也要等待游戏厂商采用Havok FX引擎才能够出台!

物理加速得到了几乎所有游戏开发商和芯片厂商的支持,为何推广起来如此困难?这就是因为标准的不统一,由于AGEIA和Havok的物理引擎影响力有限,很多厂商都在观望。这一现状有望在DX10推出之后得到改善,有了微软API的支持,无论哪种物理引擎都拥有发挥的空间,相信将会有更多的游戏加入更多的物理运算——届时您可以选择让当前显卡同时处理3D渲染和物理加速、或者让第二块、第三块显卡甚至购买物理加速卡专门进行物理加速!

物理加速技术实际上与DX10并没有直接关系,AGEIA的物理加速卡是单独的硬件,而ATI/NV的GPU物理加速需要物理引擎和游戏的配合就足够了。那么DX10能够给物理加速带来什么质的变化呢?

8. 微软一统江湖,DX10同时支持GPU、PPU物理加速:
通过DX10的特性可以看出,DX10 GPU将是更为通用化的处理器,也就是说,原本许多交由CPU进行的3D处理会被转移到GPU上面来,因为强大的GPU比CPU更适合做这些工作,由此游戏性能会大幅提高。

最近热门的技术就是物理加速及其应用,物理计算是下一代游戏体验当中的关键部分,它将增加游戏的真实感、沉浸感和带来更加有趣的体验。微软同样对物理加速非常感兴趣,在未来的DX10版本中会加入物理加速的支持。



无论AGEIA还是Havok都需要更多游戏的支持

物理加速现在分为两大阵营,一是AGEIA的PPU物理处理器及其物理加速卡,另一阵营为Havok,NVIDIA和ATI都使用Havok FX引擎调用GPU处理物理运算。而据微软的表态不会偏袒任何一方,DX10会开放两个SDK,分别照顾到AGEIA和Havok,其中AGEIA的PPU直接作用于SDK独立进行物理运算,在Havok引擎的调动下NVIDIA和ATI的GPU也可以动态的处理物理运算!

由于缺乏游戏支持,物理加速卡销量不如预期

当前的物理加速技术——我们谈论的AGEIA、Havok、NVIDIA和ATI等物理加速软件和硬件厂商。它们都有一个共同的特点,那就是物理加速引擎互不兼容、各自为政,这就使得很多游戏仅能支持一种物理引擎,这种情形非常类似于3D时代开荒初期在技术和规范上百花齐放!

众所周知,现在物理加速卡需要更多的游戏来刺激销售,而ATI/NVIDIA也需要实际游戏来证明自己GPU物理加速的强大,而这两大阵营的物理加速游戏是完全互不兼容的,这就是标准惹的祸!软件巨头微软推出的DirectX/Direct3D终结了早期3D时代的无序状态。现在微软着手物理加速API的研发工作,以Direct Physics统一物理标准不论对哪一方都是非常有利的,微软的介入将使得物理加速更容易得到推广和普及,应用性也变得更加方便,同时DX10 GPU的架构也能够让GPU更较有效的进行物理加速!

9. 谁更强大?DX10 GPU进一步蚕食CPU:
为什么GeForce 256被称为第一款GPU?因为它所具备的硬件T&L功能将原本CPU负责处理的光影转换交给了显示芯片,而光影特效处理要占据3D场景的很大比例,这种技术的实现让系统3D性能得到了大幅提高。因此显示芯片也有拥有了同CPU平起平坐的称9. 谁更强大?DX10 GPU进一步蚕食CPU:
为什么GeForce 256被称为第一款GPU?因为它所具备的硬件T&L功能将原本CPU负责处理的光影转换交给了显示芯片,而光影特效处理要占据3D场景的很大比例,这种技术的实现让系统3D性能得到了大幅提高。因此显示芯片也有拥有了同CPU平起平坐的称谓——GPU!

自从GeForce 256开始,GPU就逐步替代CPU进行各种各样的运算,从可编程GPU到通用型GPU,GPU将更多图形相关处理纳入自己旗下。最近一段时间热门的技术就是HDTV视频加速和物理加速,通过各方面的测试和报道都证明了GPU的处理能力远远超越了CPU。

强大的扣肉可以缓解3D游戏中的CPU瓶颈,但治标不治本,GPU解放CPU才是正道!

如果大家留意近期扣肉处理器的测试成绩就会发现,在1024分辨率、显卡不变的情况下,单纯更换CPU就能使游戏FPS提高30%-70%,这种幅度就算是将7600GT升级到7900GTX也未必能达到!这一方面说明了扣肉性能的强大,另一方面也反映出了当前游戏的瓶颈更多的在CPU方面,因为CPU依然要进行太多并不适合自己的运算!

DX10拥有全新的DLL数据库,运行效率大幅提高;另外API将更多的将工作从CPU移交到了GPU身上。微软表示:整个API和流水线都将重新设计,CPU运行程序时间最小化,性能最大化DX10的思路是在不需要CPU参与下,最大程度发挥GPU性能,如果需要CPU也参与工作的话,那么就是一个快速的,流线型的流水操作。DX10赋予了GPU更有效的数据读写方式,从而使CPU将更多工作移交给显卡并进而减少程序运行时间。

由此可见,DX10的出现进一步强化了GPU的功能和性能,使得游戏开发者可以将更多的运算交给GPU处理——这样做并不会给GPU带来多少负担,而给CPU减负可以进一步的消除游戏系统的瓶颈,使得游戏场景可以变得更加复杂,协调GPU和CPU在游戏中的负担,最大话电脑硬件的3D图形性能!
事实上同时代游戏机的性能强于PC的主要原因,就是游戏机的硬件配置更加合理,开发商更清楚如何调用游戏机的硬件资源,而复杂的PC系统存在多处性能瓶颈,“机能”没有得到完全发挥!

总结:
以上所介绍的DirectX 10图形技术仅仅是对于我们用户而言最主要的特性,其实DX10的体系结构、编程语言的简化和更加灵活的调用仅针对游戏开发者、而且也只有他们才能看得懂!简言之,DX10能够大幅简化程序员的工作,以尽可能简练的语言开发出尽可能复杂、真实的游戏画面!

DX10游戏到底能给我们带来什么,或许今后当您玩到DX10游戏时我们通常所说的HDR光照、动态模糊、软边阴影和物理加速等等图形技术已经难以分辨或者说是不复存在,因为展现在我们面前的图形画面将会变得非常接近现实,一切都是那么自然和谐!


《Crysis》游戏截图

“接近真实”也许是对DirectX10最好的评价,在微软新一代的操作系统Vista携手Direct 10向我们走来之际,NVIDIA和ATI的新一代支持Direct 10的产品也在准备之中,虽然我们不知道NVIDIA下一代旗舰产品研发何时发布,但可以肯定的是在游戏中体验电影级画面的日子已经离我们不远了。

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑