从2001年开始,3D游戏对于Pixel Shader单元的要求越来越高,在制造工艺的不断进步中,Pixel
Shader单元也在不断增加。但依旧保留着流水线这个概念。一般来说,一条流水线拥有1个Pixel Shader单元,一个TMU,一个ROP,三者的比例是1比1比1。这里不得提到ATI的创新设计,ATI在自身的RV560芯片上,将比例提升到了3比1,也就是说,一条渲染管线中拥有了3个Pixel
Shader单元,3个Pixel Shader单元共用一个TMU,这种革新的设计,使得Pixel Shader单元的数量大幅度提升,但却依旧无法满足3D游戏对于Pixel
Shader单元的需求。小熊在线www.beareyes.com.cn

早期的渲染处理是粗略的把渲染资源平等的分配给上述两种类型的渲染指令,但近来的分配给算术处理操作的渲染处理资源比重越来越大,在最近的游戏中,这个平均的比例是算术处理操作:纹理操作=5:1,从许多下一代的3D游戏设计蓝图看来,这个比例还有继续往上增加的趋势。
在另一些对现今3D游戏的研究报告中指出,大部分的像素处理过程都是双线性过滤操作或者从整数纹理中进行点取样,并没有纹理查找的过程,这些渲染操作都能被纹理处理单元在一个或更少的时钟周期内执行,而剩下的像素处理操作则是三线性过滤、各向异性过滤和浮点指令纹理查找过程,这些操作将被安排在超过一个时钟周期后执行。
在算术处理与纹理操作之间一个很重要的差异就是:纹理操作过多依赖显存容量和带宽这些外界因素,当在显存容量和带宽不够用的情况下,去增加更多的纹理操作单元对纹理操作性能的提升并无帮助;而算术处理操作则不同,它的处理能力并不依靠这些外界因素,仅取决于在GPU中集成的算术处理单元数量。小熊在线www.beareyes.com.cn

『图表表明Shader数据量的增长速度远大于纹理』
程序中的纹理是一个可以加以利用的重要技术技巧,首先我们可以通过加上相应的约束参数把像素渲染程序用来生成算术地纹理,通过这样来变相的减少用于存储纹理数据的必需的显存容量和带宽;除此之外渲染程式还可以用来添加变化和现有纹理的细节,以此来减少存储于显存中不同纹理模板的数量。这两种运用的技巧虽然过程不同,但都异曲同工,用来降低纹理操作对外界因素的依赖,减少对显存容量和带宽的需求。小熊在线www.beareyes.com.cn
当CPU已经成为渲染速度提高的瓶颈时,GPU越来越强的渲染处理能力已经开始在共享原本属于CPU的工作量,例如在粒子系统、纺织物、流体流动这些物理仿真动作在处理器处理不过来时,就会被映射到GPU的工作列表中,使用GPU强大的渲染能力来处理。不过,这些从CPU处理列表中转移过来的资源毕竟远离标准的图形绘制范畴,所以更多的渲染处理能力被用来搭建负载平衡系统,去提升整体的帧渲染速度。小熊在线www.beareyes.com.cn
面对像素处理的大幅度增加,两家最大的图形公司NVIDIA和ATI出现了分歧,对于总体问题上的认识,两家公司的态度是一样的,但是NVIDIA坚持将“像素处理器/纹理处理器”的比例约束在2:1的比例上,但是ATI的做法更为激进,在最新的产品中,ATI始终提供“像素处理器/纹理处理器”高比例,也就是3:1的比例,从游戏的发展趋势来看,这个比例更为贴切。小熊在线www.beareyes.com.cn
除了这个理由,ATI的工程师还有另一个理由来说明这种比例的优势,那就是每个频率可以获取的带宽比例在下降(R300时是3:4、R580是7:8),纹理处理的消耗量其实是在增加的,这点是确定的(分辨率的提升、纹理的精细化),但这并不是纹理单元增加的理由,更合理的搭配才是最正确的选择,一味的增加纹理处理单元只会增加对带宽的占用,从而成为反面因素。小熊在线www.beareyes.com.cn
从最新的游戏来看,像素处理单元遇到的带宽瓶颈越来越大,ATI于是决定将这个比例控制在3:1,这样可以满足足够的像素处理带宽,至于纹理单元,虽然有增长的趋势,但是相对像素处理仍然是非常缓慢的。也许枯燥的技术说明和数字并不能很好的论证这个架构的优势,只有用户切切实际的感受到在游戏中的优势才是最能说明问题的。小熊在线www.beareyes.com.cn