admin管理员组

文章数量:1529450

2024-07-29 作者:

维普资讯

iamzyc@gmail.corn 热点聚焦  ,新闻纵横 当ATi最近推出Eadeon X1900系列显卡核心(GPU)之后,市场上便开始流行这样一种说法——“ ̄adeon X1 900XTX 集成了4 8条像素渲染流水线”。这种说法正确吗?在目前的技术条件下,OPU能集成这么多条渲染流水线吗? ●理解GPU像素流水线的概念 在讨论显卡G P U的像素渲染流水线之前,我们想先让大家了解一下3 D游戏的制作 过程,这对于理解后续的像素渲染流水线慨念将有很大的帮助。事实上,3 D游戏初期的 开发就像制作一部电影:策划一剧本撰写一角色圈定等等,在确定主角的造型风格之后, 制作厂商将把原画交给3D建模部门。至此,3D工作正式开始,此时需要处理纹理,后 期混合等等,具体的工作内容就是构造顶点 几何变换(Transform)、光照(Lighting) (Rasterize)等。 设定(Setup)、光栅化 对于传统的显 卡核心,以上的一些 【小知识l Vertex Shader是流 水线中的吗 Vertex Shader仅 工作全部由CPU代 为执行。到了3 D时 代,.GPU作为图形处 仅是顶点计算中特 效部分的指令榘处 理嚣,因此它并非 理单元开始承担更 多的工作,因此我们 是流据线中的一部 分。尽管我们经常 听到GPU的Vertex Sh&der数量也与性能 有很大的关系,但 也开始接触纹理贴 图 像素渲染等慨 念。然而时至今日, GPU已经发展得更 是速的确与我们今 天所讨论的内容关 系不大 此外,Vertex 为全面,几乎每一款 GPU都内置了多条 渲染流水线。 不同时代对于 像素渲染的大致流程示意图 Shader可以由CPU来 模拟执行,因此我 们会看到很多集成 显卡只拥有Pi X eI Shader而没有Vertex Shader。 G P U渲染流水线的定义不完全相同。如今我们对于一条渲染流水线的定义,一般是 “Pixel Shader(像素着色器单元)+TMU(Texture Mapping Unit 纹理单元)+ROP (光栅化引擎。ATi将其称为Render Back End)”。从功能上简单的说,Pixel Shader完 成像素处理,TMU负责纹理渲染,而ROP则负责像素的最终输出。 因此,一条完整的GPU像素渲染流水线,包括Pixel Shader TMU、ROP三个部 分,这条流水线至少可以在一个时钟周期内完成1个Pixel Shader运算,输出1个纹理 和1个像素。 一200 一JJ ,、、 撼 盟—一 维普资讯

iamzyc@gmail.Com ●GPU渲染流水线的发展趋势 “流水线=Pixel Shader4一TMU+ROP”,这一概 2.3D游戏现在时:追求像素渲染流水线 进人DirectX 9时代以后,Pixel Shader技术开始应用 念一直得到GPU厂商的拥护。然而随着技术的发 展,3 D游戏开始有明显的取向性,此时这一平衡 得十分普遍,此时显卡能否提供更大的像素填充率成为关键 也自然被打破。从当年的G e F O r c e 4到如今的 因素。而要提升GPU的像素填充率。除了提升核心工作频 Radeon X1900XTX,我们通过对比这一发展过程将 率之外,增加GPU内的像素渲染流水线的数量也是关键的 能很清楚地理解为什幺ATi开始采用“4 8流水线 解决之道。 技术”。 1.DirectX 8时代:追求TMu 如果大家了解G P U的发展史,一定会对 GeF0 rce4 Ti42 0 0这款产品记忆犹新 当时 GeForce4 Ti4200也仅仅是一款4条流水线的显卡, 但是每条流水线却拥有2个TM U纹理单元,因此 很多用户将其称为4 X 2架构,认为这已经等效于 8条像素渲染流水线的显卡。当然,这种说法不够 科学,只不过站在当时的时代背景还有些许道理。 在DirectX 8时代,3D游戏仅仅少量应用Pixel Shader特效,而且考虑到照顾DirectX 7游戏,因 此纹理填充依然是最关键的技术 通过茌一个流 水线中集成两个TMU单元,GeForce4 Ti4200取得 了很出色的性能表现,这也令其成为一代王者。同 样,Radeon 8500也是相同的做法,即在一个流水 线中集成两个TMU单元,使得只有4条像素渲染 流水线的显卡能够具备8个纹理填充单元。 不知道大家是不是还记得这样的说法:当时 我们将Radeon 9000称为“阉割版 产品,之所以 这样说便是因为Radeon 9000取消了双TMU单元, 即一个流水线中只集成一个TMU单元,因此其性 能下降得比较厉害。此外,当nVIDIA推出GeForce FX5600这款新一代DirectX 9显卡时,很多3D玩 家也发现其DirectX 8性能居然还不如GeForce4 Ti4200,造成这一现象的关键也是TMU单元,因 为GeForce FX560O的一 条流水线中只有一个TMU 单元。 按照常规的思路,在…条像素渲染流水线中, Pixel Shader、TMU以及ROP的比例是1:1:l。不 过,在DirectX 6到DirectX 8这个时代,由干当 时的游戏开发大量应用纹理贴图,因此当时那些 Pixel Stlader,TMU、ROP的比例是1:2:l的显卡 产品,在其他技术参数差不多的情况下,其表现要 明显优于那些比例为l:1:l的产品——在那个时 代,纹理填充率是GPU的主要性能瓶颈。 一—— 2 当然,造成GP U开始追求更多像素渲染流水线的因素 绝不仅仅是3D游戏普及化应用Pixel Shader,Pixel Shader 本身版本的提升也是一个重要原因。单流水线内置一条像素 渲染流水线在DirectX 8游戏横行的时代是比较合理的,因 为DirectX 8的Pixel Shader1.3允许的着色器程序比较短, 此时单流水线内的多个像素渲染流水线无法发挥并行工作的 优势。然而DirectX 9时代的Pixel Shader 2.0/3.0则全然 不同,更长的着色器程序指令让多个像素渲染流水线有了用 武之地。 当然,我们也并非单纯否定TMU纹理填充单元的作用。 但是也应该清楚地意识到,随着纹理压缩以及Z缓存技术的 不断成熟,再加上显存带宽越来越出色,TM U逐渐摆脱了 性能瓶颈,此时自然也就无需在单流水线中集成多个TMu 单元。而与此同时,ROP也在数量上足以满足GPU的需求, 因此也没有随着像素渲染流水线数量的递增而不断增长。 按照ATi对于未来3D游戏技术的预测,今后像素渲染 将会越来越得到重用。在2001年刚刚出现具备像素着色器的 显卡时,当时游戏的像素着色器程序中算术指令和纹理指令 数量的比例在1:1左右,打达以后.算术指令的数量呈显著 增加之势。在2006年,游戏中每个像素的平均着色器程序指 令数目是3 0条,算术指令和纹理指令数量平均比率达到了 5:1,也就是i兑现在的像素着色器程序中,平均每5条算术 指令才会出现一条贴图指令,而这样的算术指令数量急剧增 长趋势仍将继续保持下去。 45 j! I ■ 广] I ‘ __ I 2o01 2∞2 2003 2∞4 2005 2006 YNr PlxelShaderInStruction CountsIn pCGame № 根据All的预测,像素与纹理的数量比例变化 一柏 ∞ ∞ 西 置Id L置一- 占 兰鼍维普资讯

iamzyc@gmail.corn ●x 1 900XTX渲染流水线的特点 正是基于像素着色器程序中算术指令比重不断提高这一事实现状,ATi开始 不遗余力地致力于提高像素渲染流水线数量。以X1900XTX为例,它拥有16条真 正意义上的流水线,只不过Pixel Shader TMU以及ROP的比例是3:1:1。因 【小知识】 为何不楗高ROP数量 每一个像素在P i X e I 此,确切的说,X 1 900XTX具备48个像素着色器单元,而不是48条像素渲染流 水线。 xl 900XTX系列有 Shader中需要的处理周期都随 着日后游戏以殪相关软件的 发展而大幅增加,在单周期 48个Pixel Shader,而 内不一定会有待处理像素下 降到R0P单元。于是,考虑到 Pixel Shader与gOP负载的平衡 性、核心制造工艺以厦整卡 TMU和ROP却只有1 6 个,因此这款GPU核心 在一个周期内可以进行 48次Pixel Shader运 的成本问题.新一代GPU没有 再添加曼多的g0P单元,而是 着重改善了gOP处理算法以 殪增加TAA模式下的超缱采 算。输出1 6个纹理和1 6 个像素。也就是说, X 1 9 00XTX在Pixel 样和多重采样。此外,更多的 R,OP也需要更高的显存位宽 Sh a d e r运算上等同于 来支持,目前显存位宽普遍 4 8流水线显卡,但在纹 x1 900XT的内部架构 在256hit,此时很难达到1 6个 以上的R,OP 理填充串和像素填充率上等同干1 6流水线显卡。虽说X 1 900XTX应该更趋向 于我们平时所说的1 6流水线显卡,但是今后的游戏更加注重Pixel Shader运算, 到时候其架构的优势就会显现出来。 ●nV I D I A:带给我们不一样的信息 ATi并非是第一个在单流水线中集成多个像素渲染 Pixel Shader、TMU以及ROP的比例关系是3:3:2,也 单元的GPU厂商,nVIDIA的行动甚至比之更早,而且 就是24条像素渲染流水线、24个TMU纹理填充单元以 更加彻底。以目前nVIDIA的旗舰级产品GT0为例,其 及l6个ROP。 搭配了总共24条Pixel Shader像素渲染流水线。更加 特别的是,G70的Pixel Shader以4 UNIT为一束,大 家也可以直观地将其理解为6条流水线,而每条流水线 内具备4个Ptxel Shader单元,这比ATi Radeon X1900XTX的3个Pixel Shader单元更加夸张。 我们在此并不想评论这两种方式的优劣,但可以 肯定的是,nVIDIA和ATi至少是在单流水线内集成多 个Pixel Shader单元这一点上达成了共识,这也是令人 欣喜的局面。正是有了这样一个变化,未来游戏将会更 加大胆地使用像素计算,此时也能展现出更加完美的画 面特效。然而另外有所区别的是:nVIDIA G70在追求 Pixel Shader的同时并未抛弃TMU纹理填充单元,其 GeForce 7800 G'TX的像素渲杂流水线架构的局部 附表:主流GPU的像素渲染流水线构成 G : . D r F _ _ f}・’’| L1 Ⅲ Gel。r i 0 r e , X550 x X 鲫 | j X r 1儿0 蝎l0¨ -3∞ Y Krj × 蛐 毗 作 r 1 椎n+ ∞ ,’ ∞ 叠i J∞。 7 : I I 7∞【  。r(i ^;¨1 。” I 枉r .、 、 4・: 4 l、 fi 4 。i Ⅳ 8 4 , | I .' j 1 】 l6 ;0 B N ̄/47 m 1 0 7  1‘7 博i4 7 。I 4 l { ・1 j V,l:0 4 』 制0 8 B 0 12, -】“ 0 4 “ .? ]420 m :‘ 1 }1  IR‘∞ f Y ・ 0  14 l∞ [I:)∞ 嘶  l4 E :0 r‘  ,t P 。 8 4 I?  lj H ^ f) 6 l  ‘丽 L一~ 

本文标签: 透视“48条像素流水线“的奥秘深入分析Radeon X1900的像素渲染结构