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