为王位而生 GeForce8800全面解析测试
●第五步:填充材质的处理。
这个步骤的作用是处理原始的贴图或者材质素材,这个过程也就是我们最经常说的“Pixel Shader 像素渲染单元”做的事情。简单的而言就是根据需要把贴图处理一下,大多数情况是把贴图斜向做透视,说的明白一些就是把图片变变形状。当然,如何变,变哪些,哪些需要做剪切都是需要很多的运算的。
很久时间以来,游戏对3D性能的要求的提高也主要是在这个部分,特别是分辨率提高之后就更加要求性能了。
这个过程中,我们常常提到的材质过滤(Texture Filtering,包括二线型过滤,三线性过滤,各项异形过滤)就是在这里做处理的。特别是各向异形过滤在做高等级处理的时候,消耗资源也相当的大。
材质过滤的等级决定着画质
当然,这个过程远远没有我说的这么简单,根据观察角度变换贴图的形状只是最基本的操作。而实时的阴影,光照,遮挡,甚至根据法线贴图做虚拟的3D贴图技术,都是Pixel Shader处理的内容,所以Pixel Shader一直是显卡中最累的一个部分。到上一代显示芯片,NVIDIA提供了多达24个Pixel Shader单元,不过在G80中,弹性的统一渲染架构让Pixel Shader的单元最大增加到理论上的128个。
●第六步:三角形填充。
这个步骤就是将处理好的没一个象素填充到三角形中,在具体的执行操作的时候其实几乎是和Pixel Shader同步运行的。处理一些象素,就填充一些,然后再运行Pixel Shader处理一些象素。
这个过程在现在看来属于非常简单的过程,虽然处理数据也比较多,但是分辨率是什么,数据量也就固定了,所以不会几何性的增长需求。不过这部分的处理在当年3D加速卡刚刚出现的时候可是显卡性能的另一个最重要的指标。这就是我们常说的“象素填充率”。
在“隐面消除技术”出现之前,这个步骤还要进行根据Z轴信息做Z轴判断,看哪个象素在前面才画出来,哪个象素在后面就不画出来。不过这种低效率的事情早已经被淘汰了。
●第七步:光栅处理(ROP)
这个步骤起的作用是将已经着色的象素进行透明度(Alpha)混合等处理,这个过程就相当于最终决定显示什么图像的最后的操作,所以也非常的重要。在这个部分,显示芯片也需要投入大量的运算,所以显示芯片也使用了多个ROP单元同时运行的设计。
●第八步:帧缓冲和输出
经过ROP处理后的数据就是即将显示到显示器上的画面了,显示卡会将这些数据存入一个帧缓冲后再进行输出,由于帧缓冲的速度非常快,所以我们是感受不到的。
到这里,整个3D游戏的处理过程就算是完成了,接下来就是通过RAMDAC转换为模拟信号,通过D-Sub接口输出到显示器上。或者通过TMDS的运算转换为TMDS信号,通过DVI输出到LCD上。