【3D技术宅公社】XR数字艺术论坛  XR技术讨论 XR互动电影 定格动画

 找回密码
 立即注册

QQ登录

只需一步,快速开始

调查问卷
论坛即将给大家带来全新的技术服务,面向三围图形学、游戏、动画的全新服务论坛升级为UTF8版本后,中文用户名和用户密码中有中文的都无法登陆,请发邮件到324007255(at)QQ.com联系手动修改密码

3D技术论坛将以计算机图形学为核心,面向教育 推出国内的三维教育引擎该项目在持续研发当中,感谢大家的关注。

查看: 3158|回复: 5

又到改朝换代时!DX10显卡技术全解析

[复制链接]
发表于 2006-8-17 10:34:37 | 显示全部楼层 |阅读模式
现在人们最常讨论的图形技术是什么?SM3.0?已经普及了;HDR+AA?热气消退了;双核心以及Quad SLI?有些脱离现实了!现如今人们关注的目光已经转移到了微软下一代操作系统Vista以及全新的3D图形API——DirectX 10之上了!

Vista Beta2中已经集成了DirectX 10

很多中高端用户在升级显卡时都在问一个问题,如果买了X1900XTX/7900GTX甚至7950GX2,那么这些顶级显卡称霸的时间还能有多久?一但DX10正式发布那现在DX9C规格的显卡岂不是彻底歇菜?

以假乱真的DX10游戏《Crysis》截图赏析

玩家们的担心也不是没有道理,现在显卡的推尘出新速度超出了我们的想象,尤其是在图形API改朝换代的时期,比如前几年很多用户在购买Ti4600(不支持DX9)和X800(不支持SM3.0)时都有些顾虑。绝大多数人都想让自己的显卡多用些时日,而不是买来就等着被新游戏所淘汰!

DirectX9是史上最长寿的图形API,以往每一代DirectX的寿命都只有一年,最多不超过一年半。然而DirectX9从2002年底发布到2006年底(Vista将于2007年初发布)寿命竟然长达4年之久,光是DirectX9.0c就多达2年!

图形API发展放缓对于用户而言是好是坏?好处就在于没必要频繁升级显卡,坏处就是3D图形技术从原来的一路狂奔进入步行阶段,毫无疑问肯定是弊大于利!由于API的停滞不前,近年来芯片厂商开始研发物理加速、高清晰游戏(HD-Game)、HDR+AA、双卡互联、双核心甚至四核心互联——虽然这些技术能够带来更真实的动作变化、更佳的视觉图像、更快的速度和更好的画质,但总有些误入歧途的感觉,因为3D游戏并没有质的改善!

双核心、Quad SLI、物理加速卡

所以,无论显示芯片厂商、显卡厂商还是用户都非常期待DirectX 10的到来,两大巨头NVIDIA和ATI均已对DX10做好了准备,准备与Vista同期发布甚至提前发布!

那么微软DirectX 10究竟能给我们带来什么呢?

发表于 2006-8-21 00:05:08 | 显示全部楼层
唉,好不容易看完了,咋门的知识更新赶不上潮流了......DX9都没碰过又要出DX10了,又多了这么多新概念,看到头都大了!
 楼主| 发表于 2006-8-17 10:35:54 | 显示全部楼层
下面就通过一问一答的方式为大家介绍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中高效的完成更为智能、复杂的渲染工作!

 楼主| 发表于 2006-8-17 10:37:32 | 显示全部楼层
前面说了这么多实际上还没有谈及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/视频加速等等任务的自由分配。

这里需要注意的是,统一渲染架构是将顶点渲染和像素渲染的硬件处理单元统一起来,并不是没有顶点和像素渲染操作。实际上3D图形的渲染过程依然是先顶点再进行表面渲染处理,只不过顶点和像素都会调用统一的Shader单元,而不是原来的顶点单元/像素管线!

6. 游戏性能提高8倍——淡化API、驱动和CPU:

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

为了优化操作系统对游戏的支持能力,Vista加入全新的IHV控制内核及用户模式驱动程式,操作系统提升虚拟化的资料给图形程序及GPU,以加快执行效率及稳定性,配合全新D3D10的程序语言,给程序员更大的设计弹性,更能发挥硬件的应有效能。
 楼主| 发表于 2006-8-17 10:42:02 | 显示全部楼层
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帧以下无法流畅玩游戏!

7900GTX 1600×1200 HDR,FPS仅为14(点击察看完整截图)

经过实际测试,在游戏其他场景(不进入草丛)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渲染绝对能够骗过任何人的眼睛!

ATI/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渲染和物理加速、或者让第二块、第三块显卡甚至购买物理加速卡专门进行物理加速!

 楼主| 发表于 2006-8-17 10:42:30 | 显示全部楼层
物理加速技术实际上与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平起平坐的称谓——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》游戏截图

最后,本文引用了不少实际游戏的图片来更加直观的说明问题,其中DX10游戏的图片均来自于《Crysis》(孤岛危机),这是DX10首发游戏,也是曝光度最高的游戏,如果您想要了解更多有关DX10游戏的内容和截图,请查阅“以假乱真!最新DX10游戏完美截图大赏”一文。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|3D数字艺术论坛 ( 沪ICP备14023054号 )

GMT+8, 2025-2-6 03:55

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表