论文部分内容阅读
WindowsVista不仅为电脑用户带来了华丽的桌面、更强大的系统性能,而且也吹响了DX10VistaSPl的出炉,2008年必将有更多的用户升级到Vista,更多的DXl0游戏成为玩家的挚爱。当然,作为网民的一大聚集地——网吧,即使老板们有一百个不愿意接受Vista的理由,却难以抗御DX10游戏的进逼,最终也难逃升级网吧系统一劫。
功能强大,用户获得全新体验
微软DirectX10.0(以下简称DX10)只集成在WindowsVista系统中,它能够为DX10游戏和其他多媒体软件提供更高的性能。用户想真正体验其3D性能,尤其是DX10游戏的魅力,就必须升级到Vista系统。很多爱上Vista的用户,就是从认识漂亮的DXl0画面开始的。很显然,DX10是微软为Vista挺进市场的一大杀手锏,而绝不是美丽的花瓶。
众所周知,每个Windows操作系统都带有DirectX,不过版本有所不同。DirectX是一种应用程序接口,它可让以Windows为平台的游戏或多媒体程序获得更高的执行效率,加强3D图形和声音效果,同时也为设计人员提供了一个共同的硬件驱动标准,让游戏开发者不必为每个品牌的硬件来写不同的驱动程序,并降低了用户安装及设置硬件的复杂度。
Vista所集成的DX10,其最大的特点就是不支持WindowsXP,目的就是要让Vista的性能比xP更完美,加速Vista的普及。微软1992年3月18日发布的Windows3.1,首次应用了DirectX技术,弥补了系统对图形、声音处理能力的不足。在随后开发的Windows95、Windows98、Windows2x、WindowsXP等几个重要版本中,DirectX功能不断改进,逐步发展成为对整个多媒体系统的各个方面都有决定性影响的接口。
与Vista紧密结合
当前仍居主流的WindowsxPSP2带的是DirectX9.0C,而Vista集成的则是DX10,其一大特色就是与WindowsVista紧密结合,让3D界面渲染工作变得更高效。
值得注意的是,DirectX并不是一个单纯的图形API。它提供了一整套的多媒体接口方案,用途广泛。其中包含有DirectGraphics(Direct3D+DirectDraw)、DirectInput、DirectPlay、DirectSound、DirectShow、DirectSetup、DirectMediaObjects等多个组件。在WindowsVista系统中,由于图形API与操作系统核心高度整合在一起,所以可以调用GPU资源来渲染AeroGlass3D界面。例如,当用户点击应用程序时,CPU会立刻收到驱动程序的指令,而软件界面渲染指令则通过DirectX10直接传送给GPU,从而能够使WindowsVista同时与CPU和GPU沟通,提供逼真的三维(3D)图形与令人如醉如痴的声音效果。
ShaderModel4.0图形技术
ShaderModel就是“优化渲染引擎模式“,它在DirectX体系中的地位就日趋重要。
从最早DirectX8引入ShaderModel概念,到DX10的ShadeMode14.0,微软先后已经发布了五个版本:DirectX8.0的ShaderMode11.0、DirectX9.0b的ShaderMode12.0、DirectX9.0c的ShaderMode13.0、DX10的ShaderMode14.0和10.1的ShaderModel4.1。其中,从1.0进化到相对而言2.0,相对而言称得上是真正意义上的技术革命。后者赋予了显示芯片强大的能力,让玩家在游戏中体验到前所未有的视觉感受,例如水面光影和雾化等特效等。而ShaderMode13.0的改进,只不过多了支持32bit浮点运算,而其特效与ShaderModel2.0是相同的。
相比ShsderModel3.0,ShaderModel4.0最大指令数从512条增加到了64000条;临时暂存器数量也从原先的32个增加到惊人的4096个;允许同时对128个Texture进行操作而ShaderModel3.0只允许16个;材质texture格式变为硬件支持的RGBE格式,其中的“E”是Exponent的省略,是RGB共同的说明,这在HDR的处理上有很大的作用,摒弃了以往需要专门decoding处理DR渲染的流程。另外,对于纹理的尺寸ShaderModel4.0也有惊人的提升,8192×8192的最高纹理分辩率比原先最高2048×2048的分辩率要高出4倍。
ShaderModel4.0另一个重大变化就是在VertexShader和PixelShader之间引入了一个新的可编程图形层——几何着色器(GeometryShader)。全新的几何着色,可以使用Shader资源来处理运动物体的几何坐标变换,然后配合高精度的顶点纹理拾取技术,达到了完美监控整个运动过程的目的。它可以根据顶点的信息来批量高效率的处理几何图形,一次最多可处理六个顶点,快速地将模型类似的顶点结合起来进行运算;可以将点、线、三角形等基本的构图元素连接起来,创造出新的多边形,并快速地将处理结果传递给其他Shader或显存,并且这个过程无需CPU参与。这一技术尤其适合用来渲染细小、数量又极其庞大的毛发、小草等物体。因此在DX10游戏中,毛发不但可以做到更加逼真,而且渲染效率非比寻常。在实际游戏中,玩家可以看到一根一根随风而动的绒毛,这在以往是不敢想像的。
更令人惊喜的是,为了最大程度地发挥GeometryShader的威力,DX10硬件还专门设置了一个名为流输出层(streamOutputState)的部件,与之配合使用。这个层的功能是将VertexShader和PixelShader处理完成的数据输出给用户,由用户进行处理后再反馈给流水线继续处理。用户可以通过流输出层把GPU拆成两段,只利用前面的一段几何运算单元。以往很多必须倚靠CPU才能完成的工作,现在完全可交由GPU处理,大大降低了CPU占用,并可以让GPU提供更精细的模型细节,因为其它Shader单元将不再需要去判定数据所存在的位置,而只是需要简单的为特定区域进行操作就可以了,从而也赋予了GPU自行创造新几何物体、为场景添加内容的神奇能力。如此也使GPU更加通用化。
统一渲染架构UNifiadShader
统一渲染架构(unifiedShaderArchitecture)是DirectX10最显著的革 新。所谓统一渲染架构,简要地说就是Shader单元不再分离,显示核心不再为Shader类型不同而配置不同类型的Shader单元,即在统一渲染架构中,统一使用PixelShader单元以及vertexShader单元,所有的Shader单元都可以为需要处理的数据进行处理,不管和是PixelShader数据还是VertexShsder数据。而调配哪几组Shader单元负责处理什么数据或者进行哪种子类型的计算,则由一个被称为smallsetsofinstructions(ssI)的部分来控制。
在微软统一渲染架构出现之前,各类图形硬件和API均采用分离渲染架构,即顶点渲染和像素渲染各自独立进行,前者的任务是构建出含三维坐标信息的多边形顶点,后者则是将这些顶点从三维转换为二维,这样便可以通过视觉欺骗在屏幕上显示出“三维”的场景。与此对应,GPU中也有专门的顶点渲染单元和像素渲染单元来分别执行这两项工作(由于工作量不同,这两种渲染单元的数量不相等,顶点渲染单元通常只有像素渲染单元的1/3~1/2)。由于不同的GPU,其像素渲染单元和顶点渲染单元的比例不一样,软件开发人员在编写代码时必须考虑这个比例,这就大大限制了开发人员自由发挥的空间。另外,不同的图形游戏或软件对像素渲染和顶点渲染的需求不一样,导致GPU的运算资源得不到充分利用。
微软认为,分离渲染架构不够灵活,所以在DirectX10采用了UnifiedShaderArchitecture,完全放弃了GPU当中的固定渲染模式,并且支持GPU行为的完全自由化,即GPU不再明确划分像素着色和顶点着色单元,并支持多种任务,如2D、3D视频加速等等任务的自由分配,以此加速处理器速度,最大程度地利用渲染单元,减少资源闲置。
微软UnifiedShaderArchitecture的设计理念是:在相同物理类型的渲染单元上,执行不同类型的渲染程序。换句话说,就是只用一种渲染单元,既能完成顶点渲染,也能完成像素渲染,甚至还能实现几何渲染。为此,微软在Shader单元PixelShader与VertexShader之间引入了几何着色器。它可以把点、线、三角等多边形联系起来快速处理、同时创造新的多边形,在很短时间内直接分配给其他Shader和显存而无需经过CPU,烟雾、爆炸等复杂图像不再需要CPU来处理。从而极大提高了CPU速度和显卡速度。游戏图像中可以出现许多精细场景,如不锈钢茶壶上清楚的反射出周围物体、超精细的人物皮肤等。
取消了功能位
Dx10取消了功能位(capabilitybit),硬件标准化,减少了CPU的占用率、提高了图形卡的处理能力和灵活性,为开发人员带来很大方便。
Windows×P系统的DX9图形卡,并不是必须支持DX9中的所有特性,因此驱动程序必须使用功能位来向操作系统精确地报告有哪些功能特性这个显卡是支持的、有哪些是不支持的。然而,不同的显卡会支持不同的功能集,开发人员为此非常头疼。而DX10只提供符不符合规范这一层次的精确度,要么符合DX10规范,要么不符合DX10规范,系统不再关注显卡支持这样或那样的纹理格式、或者这样那样的渲染模式。同时符合DXIO标准的不同的显卡的显示效果差别将会非常小,只要他们能够正确地使用API编程,就一定能够产生正确的结果,开发人员不用再担心同样的操作会在不同的显卡上表现出不同的效果。
从以上几种新的技术应用不难看出,DirectX10解放了CPU的资源,在游戏性能方面的提升是巨大的。当然,DirectX10对硬件,尤其是显卡的要求也更为苛刻。
顺应潮流,软硬件生产商踊跃跟进
微软每次更新windows,都会带来软硬件的全面升级,而携带着Dxl0利器的WindowsVista的到来,更是对电脑的配置提出了苛刻的要求,也可以说是一个大跨越。这不仅进一步巩固了微软操作系统的垄断地位,让微软再次聚财千千万,而且也大大刺激了软硬件的市场需求,因此大大小小的IT生产商争先恐后投入了Vista怀抱。这其中,显卡与游戏等生产商的表现最为踊跃,在WindowsVista发布前后半年多的时间里,就接二连三的推出了DXl0显卡与DXl0游戏大作,完全达到了与WindowsVista市场相呼应的需求。
DX10显卡为而生,“全民DX10”
在WindowsVista系统下,想流畅地运行DXl0游戏与高画质多媒体视频,DX10显卡是必须配置。nVIDIA和ATi为拼抢市场份额,竞相祭出了看家法宝,展开了“全民DX10”的争夺战,大约只用了半年多的时间,就实现了配套齐全的高中低DX10显卡市场阵容。
人们也习惯称显卡行业的两大巨人nVIDIA和ATi两家的产品为“N卡”和“A卡”。
nVIDIA于2007年10月率先发布了G92显卡芯片,随即在11月推出了采用G92核心,代号为G80的GeFOCe8800GT显卡。2008年初nVIDIA,推出了G84/86核心的Geferce8600GTS/GT,以及定位于低端的8500GT显卡等,由此,赢得了DXl0市场竞争的先机。
nVIDIAGeForce8800GT有四大亮点:首款256bit显存位宽的DirectX1O显卡;第一款支持PCI-E2.0规范显卡;全新的65nm制程核心,发热量更低,单插槽设计;整合了PureVideoHD高清回放技术,具有112个流处理器,每个处理器使用至少核心频率的2.5倍运行。
作为支持微软DXl0.1标准的显卡,GeForce8800GT理所当然的具备平衡的Shader,纹理和几何性能,可为游戏和应用程序提供了完美的图像质量和最佳运行效果。其中景深技术的运用可以在游戏中获得“聚焦”效果,例如可以给场景的视野中的物件提供更加精锐的聚焦效果。配合高动态范围渲染HDR特效功能,可以实现超出普通范围的颜色值,渲染出更加真实的3D场景,使玩家体验到超越影院画质的游戏情景。
HDR是High-DynamicRange的缩写,即高动态范围,比如所谓的高动态范围图像(HDRI)或者高动态范围渲染(HDRR)。在游戏中,特指HDR特效。HDR特效是与VertexShader/ShaderModel/Softshadows/ParallaxMapping等等并列的图像渲染特效。实现HDR特效有两个必须条件,一是游戏开发者要在游戏开发过程中,利用开发工具(就是游戏引擎)将实际场景用I-DR记录下来,开发技术强的开发组会直接用小开发工具(比如3D MAX的某些特效插件)创造+DRI图像;二是显卡必须支持显示I-DR特效。
nVlDIA的显卡最早实现了HDR特效功能,例如nVIDIAGeForce6系列以上显卡。由此,用户可以非常直观的感受到什么才叫做真正的高动态范围光照,强烈的明暗反差对比,而不是整个屏幕都发亮。这种效果可以制造出更为逼真的下雨场景:雨滴使用传统的纹理结构,经过预先计算好的点光源照射,雨的大小主要依靠几何着色改变雨滴轮廓,道理和毛发渲染基本一致,就是“挤压”雨滴的模型,让它变成长线或者是小颗粒,从而形象的反映出下雨的大小程度,这比传统的2D纹理动画中的雨点更加富有生命力。
nVIDIAG84/86核心的显卡,分别定位中端与低端市场。在PureVideo2D视频方面,G84和G86均可以播放1080p分辨率的MPEG-2和WMVHD高清视频,并支持H.264视频硬件解码加速。G84和G86还具备先进的后期处理视频算法,比如时空反交错、2:2反转矫正、3:2剧场还原、4-tap水平视频缩放、5-tap垂直视频缩放等等。另外,G84和G86都没有采用传统的2D/3D模式下核心和显存频率不同的设计,而是加入了一个过热保护电路,当运行超过安全限度时,电路会自动强制降低核心和显存频率。
同时发布的基于G84核心的显卡有Geforce8600GTS和8600GT两款。其中,Geforce8600GTS的核心编号G84-400/403/405,晶体管数量2.89亿个,流处理单元32个,运行频率1.45GHz,默认GPU核心频率675MHz,GDDR3显存频率2GHz,容量256MB,位宽128-bit,实际最大功耗71W。GeForce8600GT的核心编号G84-300/303/305,流处理单元32个,运行频率1.18GHz,GPU核心频率500/550/600MHz,GDDR3显存频率1.4GHz,容量128/256MB,位宽128-bit,实际最大功耗43W,无需外接Pcl-E电源。
基于低端G86核心的8500GT显卡,的核心编号G86-300/303/305,晶体管2.10亿个,流处理单元16个,运行频率9(X)VHz,GPU核心频率45D/500/600M-Iz,GDDR2显存容量128/256MB,频率800MHz。支持HDR+AA技术,支持8SampleAA模式抗锯齿技术。
ATi当仁不让
nVIDIA先发制人,并一度把持了DX10显卡市场。这对迫投2kAMD怀抱的ATi来说无疑是雪上加霜,不过有了坚强的AMD后盾,ATi当然更有了与nVIDIA血拼的本钱。
2007年11月,ATi发布了它的RV670系列芯片,并且推出了RadeonI-1D3870和RadeonHD3850两款显卡,填补了自身市场空白。随后ATi又如期发布了能够原生支持HDCP、HDMI和AvivoHD三大HD技术的HD2000系列显卡,进一步完善DX10显卡产品线。
ATiRV670核心支持了最新的DirectX10.1和ShaderModel4.1,采用了目前业界最先进的55nm核心工艺制程,核心的晶体管数目达到6.66亿个,无论功耗还是核心发热量,都得到了很好的控制。着色架构(unifiedSuperscalarShaderArchitecture)沿用了R600的统一超标量,内置高达320个流处理器单元(streamprocessingun‘its),拥有16个纹理单元和16个RenderBack-Ends。支持了最新的PCI-E2.0接口规格,能够为显卡提供110W的电源供应,传输率提高了一倍,即从原来PCI-E16x的2.5Gbps提升至5.0Gbps,在高清回放能力上加入了RV630/61O的UVD硬件解码器以及支持ATi的PowerPlay自动节能技术。
同属于ATiRV670系列的RadeonHD3870与RadeonHD3850,主要区别在于显卡的用料和运行频率上。RadeonHD3870作为一款面向更为高端的显卡,搭配了512M-GDDR4的显存以及更优质的设计用料,核心运行频率可达到775Mhz以上,显存频率达2250Mhz或更高。而RademHD3850则搭配了256M-GDDR3显存,核心/显存频率为670/1660MZ。
与nVIDIA相比,AMD-ATi在核心工艺制程上一直保持着领先的优势,例如业界首款65nm工艺制程的独立显示芯片RV630,就比nVIDIA第一款采用65nm工艺的GPU要足足领先一个季度。而AMD-ATi最新的RV670又成为业界首款55nmT艺制程的GPU。更先进的工艺制程,为RV670带来了更小的核心功耗和发热量,据AMD的官方资料显示,采用RV670核心的RadeonHD3870的最大功耗为105W,而RademHD3850的最大功耗则更低,仅为95W。更值得注意的是,RV670的核心面积仅192平方毫米,更小的核心面积使AMD-ATi能够更好控制生产成本,进而控制显卡能以更低的零售价切入市场。
ATi的中端DirectX1O显卡有RadeonHD2600PROGDDR2、RadeonHD2600PROC4313~3、RadeonI-D2600XIGDDR3、RadeonHD2600XTGDDR4四种类型的组合,它们的着色器数量都是120个,显存位宽都是128BIT,其默认频率格式各样的都有。
ATi的低端DirectX1O显卡有RadeonI-D2400PRO和RadeonI-D2400XT,着色器数量都是40个,显存位宽也都只有64BIT,两者都可以搭配GDDR2和GDDR3显存颗粒,更具默认频率的高低,两者有性能区分。
DX10游戏没有一款是“吃素”的
DXl0游戏以华丽的画面而著称,拥有更完美地视觉冲击力。2007年的Pc游戏行业,DX10是绝对的主题,DX10已经成为PC游戏大作的主流标准;2008年,DXl0已经成为Pc游戏的必备要素,高画质游戏的洪流已经一发不可收。众多发烧级游戏玩家对闪亮登陆市场的大型DX1O游戏趋之若鹜,这在在Pc游戏发展史上无疑有着划时代的意义
DX10游戏扎堆上市,如今数量已经不少了,例如失落的星球、狂野西部、英雄连、战争机器、刺客信条、暗黑之门伦敦、冲突世界、鬼泣4、孤岛危机等。而得益于微软DX10技术创新与DX10显卡的支持,DX10游戏画面几可乱真,《孤岛危机》(crys’ls)更是达到登峰造极的程度。例如,惊人的分辨率,在每个纹理阵列(Texturearrays)中,可以保存512张同样大小的纹理,而且每张贴图的分辨率可以扩展到了8192×8192。不少老玩家看过《Crysis》画面后不禁惊呼,电影化游戏在多年的苦苦追求后终于迈出了一大步。
据对DX10游戏的一系列评测来看,DXl0游戏有一个共同的特点,就是没有一款“吃素”的。也可以说,DXIO游戏画面特效依赖于DX10显卡的3D性能,第一代DXl0显卡在真正的DX10游戏面前大多已经败下阵来,2008年要玩爽DX10游戏,至少需要一块8800GT显卡才能算跟得上潮流。但是真正的DX10游戏,除了栩栩如生的画面之外,还什么诱人之处呢?这里我们不妨看看它们的另一面——DX10游戏的内容特色。
大势所趋,网吧升级势在必行
DXIO游戏为用户提供了更鲜活诱人的画面,若想惬意享受,就必须掏钞票买WindowsVista,同时也要升级电脑硬件。在Pc硬件与软件开发一致投向DXl0怀抱,市场销售完全倒向WindowsVista一边的今天,如果说个人用户更喜欢顺应潮流的话,那么网吧升级也已经是势在必行了,只不过,网吧的升级代价要比个人用户大的多,麻烦的多。
功能强大,用户获得全新体验
微软DirectX10.0(以下简称DX10)只集成在WindowsVista系统中,它能够为DX10游戏和其他多媒体软件提供更高的性能。用户想真正体验其3D性能,尤其是DX10游戏的魅力,就必须升级到Vista系统。很多爱上Vista的用户,就是从认识漂亮的DXl0画面开始的。很显然,DX10是微软为Vista挺进市场的一大杀手锏,而绝不是美丽的花瓶。
众所周知,每个Windows操作系统都带有DirectX,不过版本有所不同。DirectX是一种应用程序接口,它可让以Windows为平台的游戏或多媒体程序获得更高的执行效率,加强3D图形和声音效果,同时也为设计人员提供了一个共同的硬件驱动标准,让游戏开发者不必为每个品牌的硬件来写不同的驱动程序,并降低了用户安装及设置硬件的复杂度。
Vista所集成的DX10,其最大的特点就是不支持WindowsXP,目的就是要让Vista的性能比xP更完美,加速Vista的普及。微软1992年3月18日发布的Windows3.1,首次应用了DirectX技术,弥补了系统对图形、声音处理能力的不足。在随后开发的Windows95、Windows98、Windows2x、WindowsXP等几个重要版本中,DirectX功能不断改进,逐步发展成为对整个多媒体系统的各个方面都有决定性影响的接口。
与Vista紧密结合
当前仍居主流的WindowsxPSP2带的是DirectX9.0C,而Vista集成的则是DX10,其一大特色就是与WindowsVista紧密结合,让3D界面渲染工作变得更高效。
值得注意的是,DirectX并不是一个单纯的图形API。它提供了一整套的多媒体接口方案,用途广泛。其中包含有DirectGraphics(Direct3D+DirectDraw)、DirectInput、DirectPlay、DirectSound、DirectShow、DirectSetup、DirectMediaObjects等多个组件。在WindowsVista系统中,由于图形API与操作系统核心高度整合在一起,所以可以调用GPU资源来渲染AeroGlass3D界面。例如,当用户点击应用程序时,CPU会立刻收到驱动程序的指令,而软件界面渲染指令则通过DirectX10直接传送给GPU,从而能够使WindowsVista同时与CPU和GPU沟通,提供逼真的三维(3D)图形与令人如醉如痴的声音效果。
ShaderModel4.0图形技术
ShaderModel就是“优化渲染引擎模式“,它在DirectX体系中的地位就日趋重要。
从最早DirectX8引入ShaderModel概念,到DX10的ShadeMode14.0,微软先后已经发布了五个版本:DirectX8.0的ShaderMode11.0、DirectX9.0b的ShaderMode12.0、DirectX9.0c的ShaderMode13.0、DX10的ShaderMode14.0和10.1的ShaderModel4.1。其中,从1.0进化到相对而言2.0,相对而言称得上是真正意义上的技术革命。后者赋予了显示芯片强大的能力,让玩家在游戏中体验到前所未有的视觉感受,例如水面光影和雾化等特效等。而ShaderMode13.0的改进,只不过多了支持32bit浮点运算,而其特效与ShaderModel2.0是相同的。
相比ShsderModel3.0,ShaderModel4.0最大指令数从512条增加到了64000条;临时暂存器数量也从原先的32个增加到惊人的4096个;允许同时对128个Texture进行操作而ShaderModel3.0只允许16个;材质texture格式变为硬件支持的RGBE格式,其中的“E”是Exponent的省略,是RGB共同的说明,这在HDR的处理上有很大的作用,摒弃了以往需要专门decoding处理DR渲染的流程。另外,对于纹理的尺寸ShaderModel4.0也有惊人的提升,8192×8192的最高纹理分辩率比原先最高2048×2048的分辩率要高出4倍。
ShaderModel4.0另一个重大变化就是在VertexShader和PixelShader之间引入了一个新的可编程图形层——几何着色器(GeometryShader)。全新的几何着色,可以使用Shader资源来处理运动物体的几何坐标变换,然后配合高精度的顶点纹理拾取技术,达到了完美监控整个运动过程的目的。它可以根据顶点的信息来批量高效率的处理几何图形,一次最多可处理六个顶点,快速地将模型类似的顶点结合起来进行运算;可以将点、线、三角形等基本的构图元素连接起来,创造出新的多边形,并快速地将处理结果传递给其他Shader或显存,并且这个过程无需CPU参与。这一技术尤其适合用来渲染细小、数量又极其庞大的毛发、小草等物体。因此在DX10游戏中,毛发不但可以做到更加逼真,而且渲染效率非比寻常。在实际游戏中,玩家可以看到一根一根随风而动的绒毛,这在以往是不敢想像的。
更令人惊喜的是,为了最大程度地发挥GeometryShader的威力,DX10硬件还专门设置了一个名为流输出层(streamOutputState)的部件,与之配合使用。这个层的功能是将VertexShader和PixelShader处理完成的数据输出给用户,由用户进行处理后再反馈给流水线继续处理。用户可以通过流输出层把GPU拆成两段,只利用前面的一段几何运算单元。以往很多必须倚靠CPU才能完成的工作,现在完全可交由GPU处理,大大降低了CPU占用,并可以让GPU提供更精细的模型细节,因为其它Shader单元将不再需要去判定数据所存在的位置,而只是需要简单的为特定区域进行操作就可以了,从而也赋予了GPU自行创造新几何物体、为场景添加内容的神奇能力。如此也使GPU更加通用化。
统一渲染架构UNifiadShader
统一渲染架构(unifiedShaderArchitecture)是DirectX10最显著的革 新。所谓统一渲染架构,简要地说就是Shader单元不再分离,显示核心不再为Shader类型不同而配置不同类型的Shader单元,即在统一渲染架构中,统一使用PixelShader单元以及vertexShader单元,所有的Shader单元都可以为需要处理的数据进行处理,不管和是PixelShader数据还是VertexShsder数据。而调配哪几组Shader单元负责处理什么数据或者进行哪种子类型的计算,则由一个被称为smallsetsofinstructions(ssI)的部分来控制。
在微软统一渲染架构出现之前,各类图形硬件和API均采用分离渲染架构,即顶点渲染和像素渲染各自独立进行,前者的任务是构建出含三维坐标信息的多边形顶点,后者则是将这些顶点从三维转换为二维,这样便可以通过视觉欺骗在屏幕上显示出“三维”的场景。与此对应,GPU中也有专门的顶点渲染单元和像素渲染单元来分别执行这两项工作(由于工作量不同,这两种渲染单元的数量不相等,顶点渲染单元通常只有像素渲染单元的1/3~1/2)。由于不同的GPU,其像素渲染单元和顶点渲染单元的比例不一样,软件开发人员在编写代码时必须考虑这个比例,这就大大限制了开发人员自由发挥的空间。另外,不同的图形游戏或软件对像素渲染和顶点渲染的需求不一样,导致GPU的运算资源得不到充分利用。
微软认为,分离渲染架构不够灵活,所以在DirectX10采用了UnifiedShaderArchitecture,完全放弃了GPU当中的固定渲染模式,并且支持GPU行为的完全自由化,即GPU不再明确划分像素着色和顶点着色单元,并支持多种任务,如2D、3D视频加速等等任务的自由分配,以此加速处理器速度,最大程度地利用渲染单元,减少资源闲置。
微软UnifiedShaderArchitecture的设计理念是:在相同物理类型的渲染单元上,执行不同类型的渲染程序。换句话说,就是只用一种渲染单元,既能完成顶点渲染,也能完成像素渲染,甚至还能实现几何渲染。为此,微软在Shader单元PixelShader与VertexShader之间引入了几何着色器。它可以把点、线、三角等多边形联系起来快速处理、同时创造新的多边形,在很短时间内直接分配给其他Shader和显存而无需经过CPU,烟雾、爆炸等复杂图像不再需要CPU来处理。从而极大提高了CPU速度和显卡速度。游戏图像中可以出现许多精细场景,如不锈钢茶壶上清楚的反射出周围物体、超精细的人物皮肤等。
取消了功能位
Dx10取消了功能位(capabilitybit),硬件标准化,减少了CPU的占用率、提高了图形卡的处理能力和灵活性,为开发人员带来很大方便。
Windows×P系统的DX9图形卡,并不是必须支持DX9中的所有特性,因此驱动程序必须使用功能位来向操作系统精确地报告有哪些功能特性这个显卡是支持的、有哪些是不支持的。然而,不同的显卡会支持不同的功能集,开发人员为此非常头疼。而DX10只提供符不符合规范这一层次的精确度,要么符合DX10规范,要么不符合DX10规范,系统不再关注显卡支持这样或那样的纹理格式、或者这样那样的渲染模式。同时符合DXIO标准的不同的显卡的显示效果差别将会非常小,只要他们能够正确地使用API编程,就一定能够产生正确的结果,开发人员不用再担心同样的操作会在不同的显卡上表现出不同的效果。
从以上几种新的技术应用不难看出,DirectX10解放了CPU的资源,在游戏性能方面的提升是巨大的。当然,DirectX10对硬件,尤其是显卡的要求也更为苛刻。
顺应潮流,软硬件生产商踊跃跟进
微软每次更新windows,都会带来软硬件的全面升级,而携带着Dxl0利器的WindowsVista的到来,更是对电脑的配置提出了苛刻的要求,也可以说是一个大跨越。这不仅进一步巩固了微软操作系统的垄断地位,让微软再次聚财千千万,而且也大大刺激了软硬件的市场需求,因此大大小小的IT生产商争先恐后投入了Vista怀抱。这其中,显卡与游戏等生产商的表现最为踊跃,在WindowsVista发布前后半年多的时间里,就接二连三的推出了DXl0显卡与DXl0游戏大作,完全达到了与WindowsVista市场相呼应的需求。
DX10显卡为而生,“全民DX10”
在WindowsVista系统下,想流畅地运行DXl0游戏与高画质多媒体视频,DX10显卡是必须配置。nVIDIA和ATi为拼抢市场份额,竞相祭出了看家法宝,展开了“全民DX10”的争夺战,大约只用了半年多的时间,就实现了配套齐全的高中低DX10显卡市场阵容。
人们也习惯称显卡行业的两大巨人nVIDIA和ATi两家的产品为“N卡”和“A卡”。
nVIDIA于2007年10月率先发布了G92显卡芯片,随即在11月推出了采用G92核心,代号为G80的GeFOCe8800GT显卡。2008年初nVIDIA,推出了G84/86核心的Geferce8600GTS/GT,以及定位于低端的8500GT显卡等,由此,赢得了DXl0市场竞争的先机。
nVIDIAGeForce8800GT有四大亮点:首款256bit显存位宽的DirectX1O显卡;第一款支持PCI-E2.0规范显卡;全新的65nm制程核心,发热量更低,单插槽设计;整合了PureVideoHD高清回放技术,具有112个流处理器,每个处理器使用至少核心频率的2.5倍运行。
作为支持微软DXl0.1标准的显卡,GeForce8800GT理所当然的具备平衡的Shader,纹理和几何性能,可为游戏和应用程序提供了完美的图像质量和最佳运行效果。其中景深技术的运用可以在游戏中获得“聚焦”效果,例如可以给场景的视野中的物件提供更加精锐的聚焦效果。配合高动态范围渲染HDR特效功能,可以实现超出普通范围的颜色值,渲染出更加真实的3D场景,使玩家体验到超越影院画质的游戏情景。
HDR是High-DynamicRange的缩写,即高动态范围,比如所谓的高动态范围图像(HDRI)或者高动态范围渲染(HDRR)。在游戏中,特指HDR特效。HDR特效是与VertexShader/ShaderModel/Softshadows/ParallaxMapping等等并列的图像渲染特效。实现HDR特效有两个必须条件,一是游戏开发者要在游戏开发过程中,利用开发工具(就是游戏引擎)将实际场景用I-DR记录下来,开发技术强的开发组会直接用小开发工具(比如3D MAX的某些特效插件)创造+DRI图像;二是显卡必须支持显示I-DR特效。
nVlDIA的显卡最早实现了HDR特效功能,例如nVIDIAGeForce6系列以上显卡。由此,用户可以非常直观的感受到什么才叫做真正的高动态范围光照,强烈的明暗反差对比,而不是整个屏幕都发亮。这种效果可以制造出更为逼真的下雨场景:雨滴使用传统的纹理结构,经过预先计算好的点光源照射,雨的大小主要依靠几何着色改变雨滴轮廓,道理和毛发渲染基本一致,就是“挤压”雨滴的模型,让它变成长线或者是小颗粒,从而形象的反映出下雨的大小程度,这比传统的2D纹理动画中的雨点更加富有生命力。
nVIDIAG84/86核心的显卡,分别定位中端与低端市场。在PureVideo2D视频方面,G84和G86均可以播放1080p分辨率的MPEG-2和WMVHD高清视频,并支持H.264视频硬件解码加速。G84和G86还具备先进的后期处理视频算法,比如时空反交错、2:2反转矫正、3:2剧场还原、4-tap水平视频缩放、5-tap垂直视频缩放等等。另外,G84和G86都没有采用传统的2D/3D模式下核心和显存频率不同的设计,而是加入了一个过热保护电路,当运行超过安全限度时,电路会自动强制降低核心和显存频率。
同时发布的基于G84核心的显卡有Geforce8600GTS和8600GT两款。其中,Geforce8600GTS的核心编号G84-400/403/405,晶体管数量2.89亿个,流处理单元32个,运行频率1.45GHz,默认GPU核心频率675MHz,GDDR3显存频率2GHz,容量256MB,位宽128-bit,实际最大功耗71W。GeForce8600GT的核心编号G84-300/303/305,流处理单元32个,运行频率1.18GHz,GPU核心频率500/550/600MHz,GDDR3显存频率1.4GHz,容量128/256MB,位宽128-bit,实际最大功耗43W,无需外接Pcl-E电源。
基于低端G86核心的8500GT显卡,的核心编号G86-300/303/305,晶体管2.10亿个,流处理单元16个,运行频率9(X)VHz,GPU核心频率45D/500/600M-Iz,GDDR2显存容量128/256MB,频率800MHz。支持HDR+AA技术,支持8SampleAA模式抗锯齿技术。
ATi当仁不让
nVIDIA先发制人,并一度把持了DX10显卡市场。这对迫投2kAMD怀抱的ATi来说无疑是雪上加霜,不过有了坚强的AMD后盾,ATi当然更有了与nVIDIA血拼的本钱。
2007年11月,ATi发布了它的RV670系列芯片,并且推出了RadeonI-1D3870和RadeonHD3850两款显卡,填补了自身市场空白。随后ATi又如期发布了能够原生支持HDCP、HDMI和AvivoHD三大HD技术的HD2000系列显卡,进一步完善DX10显卡产品线。
ATiRV670核心支持了最新的DirectX10.1和ShaderModel4.1,采用了目前业界最先进的55nm核心工艺制程,核心的晶体管数目达到6.66亿个,无论功耗还是核心发热量,都得到了很好的控制。着色架构(unifiedSuperscalarShaderArchitecture)沿用了R600的统一超标量,内置高达320个流处理器单元(streamprocessingun‘its),拥有16个纹理单元和16个RenderBack-Ends。支持了最新的PCI-E2.0接口规格,能够为显卡提供110W的电源供应,传输率提高了一倍,即从原来PCI-E16x的2.5Gbps提升至5.0Gbps,在高清回放能力上加入了RV630/61O的UVD硬件解码器以及支持ATi的PowerPlay自动节能技术。
同属于ATiRV670系列的RadeonHD3870与RadeonHD3850,主要区别在于显卡的用料和运行频率上。RadeonHD3870作为一款面向更为高端的显卡,搭配了512M-GDDR4的显存以及更优质的设计用料,核心运行频率可达到775Mhz以上,显存频率达2250Mhz或更高。而RademHD3850则搭配了256M-GDDR3显存,核心/显存频率为670/1660MZ。
与nVIDIA相比,AMD-ATi在核心工艺制程上一直保持着领先的优势,例如业界首款65nm工艺制程的独立显示芯片RV630,就比nVIDIA第一款采用65nm工艺的GPU要足足领先一个季度。而AMD-ATi最新的RV670又成为业界首款55nmT艺制程的GPU。更先进的工艺制程,为RV670带来了更小的核心功耗和发热量,据AMD的官方资料显示,采用RV670核心的RadeonHD3870的最大功耗为105W,而RademHD3850的最大功耗则更低,仅为95W。更值得注意的是,RV670的核心面积仅192平方毫米,更小的核心面积使AMD-ATi能够更好控制生产成本,进而控制显卡能以更低的零售价切入市场。
ATi的中端DirectX1O显卡有RadeonHD2600PROGDDR2、RadeonHD2600PROC4313~3、RadeonI-D2600XIGDDR3、RadeonHD2600XTGDDR4四种类型的组合,它们的着色器数量都是120个,显存位宽都是128BIT,其默认频率格式各样的都有。
ATi的低端DirectX1O显卡有RadeonI-D2400PRO和RadeonI-D2400XT,着色器数量都是40个,显存位宽也都只有64BIT,两者都可以搭配GDDR2和GDDR3显存颗粒,更具默认频率的高低,两者有性能区分。
DX10游戏没有一款是“吃素”的
DXl0游戏以华丽的画面而著称,拥有更完美地视觉冲击力。2007年的Pc游戏行业,DX10是绝对的主题,DX10已经成为PC游戏大作的主流标准;2008年,DXl0已经成为Pc游戏的必备要素,高画质游戏的洪流已经一发不可收。众多发烧级游戏玩家对闪亮登陆市场的大型DX1O游戏趋之若鹜,这在在Pc游戏发展史上无疑有着划时代的意义
DX10游戏扎堆上市,如今数量已经不少了,例如失落的星球、狂野西部、英雄连、战争机器、刺客信条、暗黑之门伦敦、冲突世界、鬼泣4、孤岛危机等。而得益于微软DX10技术创新与DX10显卡的支持,DX10游戏画面几可乱真,《孤岛危机》(crys’ls)更是达到登峰造极的程度。例如,惊人的分辨率,在每个纹理阵列(Texturearrays)中,可以保存512张同样大小的纹理,而且每张贴图的分辨率可以扩展到了8192×8192。不少老玩家看过《Crysis》画面后不禁惊呼,电影化游戏在多年的苦苦追求后终于迈出了一大步。
据对DX10游戏的一系列评测来看,DXl0游戏有一个共同的特点,就是没有一款“吃素”的。也可以说,DXIO游戏画面特效依赖于DX10显卡的3D性能,第一代DXl0显卡在真正的DX10游戏面前大多已经败下阵来,2008年要玩爽DX10游戏,至少需要一块8800GT显卡才能算跟得上潮流。但是真正的DX10游戏,除了栩栩如生的画面之外,还什么诱人之处呢?这里我们不妨看看它们的另一面——DX10游戏的内容特色。
大势所趋,网吧升级势在必行
DXIO游戏为用户提供了更鲜活诱人的画面,若想惬意享受,就必须掏钞票买WindowsVista,同时也要升级电脑硬件。在Pc硬件与软件开发一致投向DXl0怀抱,市场销售完全倒向WindowsVista一边的今天,如果说个人用户更喜欢顺应潮流的话,那么网吧升级也已经是势在必行了,只不过,网吧的升级代价要比个人用户大的多,麻烦的多。