从DX10看未来显卡的架构和游戏的趋势

互联网 | 编辑: 张惠俊 2007-04-17 00:30:00转载 返回原文

DX10看未来显卡的架构和游戏的趋势

众所周知,目前的GPU仍然严格的划分了两个区域来存放Vertex Shader(顶点着色器,简称VS单元)阵列和Pixel Shader(像素着色器,简称PS单元)贴图流水线,GPU会按顺序处理两种数据,对于功能相仿的VS和PS单元来说,这无疑是一种资源冗余,而且这也加重GPU的设计难度及成本。

『ATI为Xbox 360设计的Xenos芯片已经采用统一渲染架构』

传统的GPU因为采用了分离式的架构,所以经常会出现数据分配问题,极大的影响了渲染效率。而DirectX 10中最大的改进便是引入了统一渲染架构(unified shader),所谓统一渲染架构,最容易的理解方式就是Shader着色单元不再分离。

在传统的渲染方式中,因为游戏画面的渲染内容不同造成的PS、VS单元负载不同已经不复存在,无论几何图形过于复杂、或者像素渲染过于复杂,GPU都能有效的合理分配处理单元,有效的分配硬件资源。全新的整合图形架构GPU会计算游戏画面的Shader数据类型,从而灵活的调配Shader单元进行不同的数据类型运算,达成资源的合理利用,有效的提高GPU的运算效率。

『Dircet X各个版本开发者可用硬件资源的汇总』

像素渲染已经成为现今游戏引擎的一个性能瓶颈,下面有一个关于渲染指令在游戏中采用频率的统计结果,从中可以看到:几年来渲染指令已经在游戏中被越来越多的采用。自从微软2001年于DirectX 8版本的API中导入可编程的渲染引擎后,渲染处理开始在游戏中变的非常普遍,而渲染指令的复杂程度也在以每年1.8倍的速度增长。

游戏的shader处理大幅度增加,几年走势分析

更多对3D游戏中的渲染处理详细调查报告表明:渲染的复杂程度不仅在逐渐的增加,就连它们的渲染方式也在发生改变。渲染指令大致可以分为两个类别:

从显存中拾取数据的纹理操作。

完成数学变换的算术处理操作。

『统计表明目前基本所有的3D游戏都应用了可编程的渲染』

早期的渲染处理是粗略的把渲染资源平等的分配给上述两种类型的渲染指令,但近来的分配给算术处理操作的渲染处理资源比重越来越大,在最近的游戏中,这个平均的比例是算术处理操作:纹理操作=5:1,从许多下一代的3D游戏设计蓝图看来,这个比例还有继续往上增加的趋势。

在另一些对现今3D游戏的研究报告中指出,大部分的像素处理过程都是双线性过滤操作或者从整数纹理中进行点取样,并没有纹理查找的过程,这些渲染操作都能被纹理处理单元在一个或更少的时钟周期内执行,而剩下的像素处理操作则是三线性过滤、各向异性过滤和浮点指令纹理查找过程,这些操作将被安排在超过一个时钟周期后执行。

在算术处理与纹理操作之间一个很重要的差异就是:纹理操作过多依赖显存容量和带宽这些外界因素,当在显存容量和带宽不够用的情况下,去增加更多的纹理操作单元对纹理操作性能的提升并无帮助;而算术处理操作则不同,它的处理能力并不依靠这些外界因素,仅取决于在GPU中集成的算术处理单元数量。

『图表表明Shader数据量的增长速度远大于纹理』

程序中的纹理是一个可以加以利用的重要技术技巧,首先我们可以通过加上相应的约束参数把像素渲染程序用来生成算术地纹理,通过这样来变相的减少用于存储纹理数据的必需的显存容量和带宽;除此之外渲染程式还可以用来添加变化和现有纹理的细节,以此来减少存储于显存中不同纹理模板的数量。这两种运用的技巧虽然过程不同,但都异曲同工,用来降低纹理操作对外界因素的依赖,减少对显存容量和带宽的需求。

当CPU已经成为渲染速度提高的瓶颈时,GPU越来越强的渲染处理能力已经开始在共享原本属于CPU的工作量,例如在粒子系统、纺织物、流体流动这些物理仿真动作在处理器处理不过来时,就会被映射到GPU的工作列表中,使用GPU强大的渲染能力来处理。不过,这些从CPU处理列表中转移过来的资源毕竟远离标准的图形绘制范畴,所以更多的渲染处理能力被用来搭建负载平衡系统,去提升整体的帧渲染速度。

3:1的像素/纹理方案,ATI提供的最佳比例

面对像素处理的大幅度增加,两家最大的图形公司NVIDIA和ATI出现了分歧,对于总体问题上的认识,两家公司的态度是一样的,但是NVIDIA坚持将“像素处理器/纹理处理器”的比例约束在2:1的比例上,但是ATI的做法更为激进,在最新的产品中,ATI始终提供“像素处理器/纹理处理器”高比例,也就是3:1的比例,从游戏的发展趋势来看,这个比例更为贴切。

除了这个理由,ATI的工程师还有另一个理由来说明这种比例的优势,那就是每个频率可以获取的带宽比例在下降(R300时是3:4、R580是7:8),纹理处理的消耗量其实是在增加的,这点是确定的(分辨率的提升、纹理的精细化),但这并不是纹理单元增加的理由,更合理的搭配才是最正确的选择,一味的增加纹理处理单元只会增加对带宽的占用,从而成为反面因素。

从最新的游戏来看,像素处理单元遇到的带宽瓶颈越来越大,ATI于是决定将这个比例控制在3:1,这样可以满足足够的像素处理带宽,至于纹理单元,虽然有增长的趋势,但是相对像素处理仍然是非常缓慢的。

『R580核心架构逻辑图(RV560、RV570可参考)』

基于这个理由,ATI最新推出的两款产品都沿用了3:1的架构(早在X1900系列、X1600系列都是同样的架构比例),在主流性能市场,RV570芯片具有36个pixel shader,12个纹理单元,256bit内存总线,产品名称X1950Pro。

而另一款主流市场的新品RV560,则具有24个pixel shader,8个纹理单元和128bit内存总线,比例同样是3:1,产品名称X1650XT。

也许枯燥的技术说明和数字并不能很好的论证这个架构的优势,只有用户切切实际的感受到在游戏中的优势才是最能说明问题的,就在最近,几款新游戏的推出让ATI显卡的优势尽显,3:1的架构终于发挥出了应有的优势。

游戏推陈出新,ATI的3:1方案优势已经显现

最近发售的两款游戏大作《极品飞车10》和《分裂细胞4》都让ATI的3:1架构优势尽显,这两款游戏的知名度不用多说了,一款是PC平台最为知名竞速游戏,一款是PC平台最佳的动作潜入式游戏,两款游戏出自PC平台最大的两家游戏发行商EA和Ubisoft。

万众瞩目的竞速游戏《极品飞车:卡本峡谷》继承了前作《地下狂飙》和《头号通缉》的许多要素,但在不少方面也有自己独树一帜的地方。与前作相比,《卡本峡谷》对技巧的要求更高,而且玩家的游戏方式要由原来的单兵作战向团队合作转变。

《分裂细胞4》仍然采用最新版本的Unreal Engine 2图形引擎,在前作本已令人惊艳的画面基础之上,本作显示出了更为细致的动态光影效果。同样是实用Unreal Engine 2引擎,但蒙特里尔工作室对于动态光影特效和细节的精雕细琢确实在游戏界称得上是鹤立鸡群,独树一帜。

ATI系列显卡在两款游戏的测试中都取得了非常优异的成绩,几乎领先NVIDIA一个产品级的分数,甚至让我们有些质疑,在进行截图对比、更换驱动、甚至更换平台后,我们认为这个成绩比较精确的反映了显卡的速度。而这一切无疑也指向了3:1的显卡架构,因为在一些传统游戏上,同级别的显卡并没有这么大的差距。

3:1是正确的选择,未来游戏支持会更好

的确,未来游戏在纹理方面的需求更高,但是其发展非常有限,提升分辨率是对纹理处理的最大需求,其次还有纹理尺寸等问题,但是shader处理的速度发展要远远高于纹理处理。

ATI作出了正确的选择,3:1的像素/纹理处理器比例可以说是适应未来游戏发展要求的,在DX9即将被DX10取代的过渡时期,选择一款能良好运行DX9并且更好适应DX10游戏的显卡是正确的。在《极品飞车10》和《细胞分裂4》中,我们已经验证了这个比例的优势,这两款非常流行和火爆的游戏出自不同的开发公司,其中还有一款使用了著名的虚幻引擎,非常具有代表性。

如果用户还担心DX10的兼容性,我们可以放心的说,在DX10的前期,游戏对于新技术的应用十分有限,仅仅局限在光影和粒子效果等方面,这些处理对于拥有3:1像素/纹理处理器比例的ATI显卡来说,应付起来是非常自如的!

返回原文

本文导航

相关阅读

每日精选

点击查看更多

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