3D图形技术(下)
3D像素填充率与多边形生成率
像素填充率与多边形生成率是衡量3D芯片/卡性能高低的两个重要指标。在理论上,这两上指标都是越大越好。但在使用中,我们经常会发现某些3D卡的这两项指标虽然很高,但在实际运行程序,游戏时,其速度并没有如此快。所以我们也许该对它个重新审视一番。
一,像素填充率:即每秒钟显示芯片/卡能在显示器上画出的点的数量。举例来说,如果你将屏幕分辩率高在800X600。则在屏幕上构成每幅图像均需800X600=480000像素。再以每项秒钟屏幕刷新60次算,在此分辩率下所需的最小像素填充率即为60X(800X600)=两千八百八十万像素/秒。同理,我们可以算出在1024X768的解析度下进行每秒60幅的画面更新需要3D芯片/卡提供至少四千七百二十万像/秒(60X1024X768)的填充率。不过,以上的计算都有一个前提----每个像素只需要一个纹理贴图。而如果在3D游戏/程序中运用到了多重贴图(每一个像素上贴多张纹理贴图),对3D芯片/卡的像素填充率需求就要加倍计算。如反映光线照在人体皮肤上的画面:要是每个像素都进行光源贴图,凹凸贴图双贴图操作,在800X600的分辩率下进行每秒60幅的画面更新就要比上例增加一倍的像素填充速度即2X60X800X600=五千七百六十万像素/秒。如果为增强画面3D效果再增加一个反射贴图,则对3D芯片/卡最低的像素填充率要求更会增加到3X60X800X600=八千六百四十万像素/秒。
有了这些基本要领我们就能解释为什么有的卡(如Riva TNT)像素填充率指标高出voodoo2一倍(达一亿八千万像素/秒)但实际表现却和后者相差无几:voodoo2有两个贴图处理单元,虽然在处理单贴图画面时因设计问题只能使用一颗处理单元,但在处理多重贴图时就能进行并行操作。仍以上例为说明:处理60幅/秒更新的单贴图800X600画面,voodoo2需要2880万/9000万=0.32秒,但在处理60幅/秒更新的双贴图800X600画面时,voodoo2也只要0.32秒(5760万/(9000万X2))。相反,Riva
TNT的两颗贴图处理单元是分别独立的,不管处理单贴图画面还是多重贴图画面都是两颗处理单元齐上阵,所以处理以上两种情况的时间分别为2880万/18000万=0.16秒和5760万/18000=0.32秒(如voodoo2相同)。至于其它只有单贴图处理单元的3D芯片/卡与是如此。
二,多边形生成率:即3D芯片/卡每秒能画出多少骨架(三角形)。由于3D贴图,效果渲染都需要在这些骨架上进行。所以多边形生成率越高,3D芯片/卡能提供的画面越细腻。不过,
这些多边形在由3D卡处理前是必须通过CPU进行计算,然后再传给3D卡的。这样只有几何浮点处理能力够强的CPU才可能及时完成计算并将这些数据传回给3D卡。要是CPU速度慢一点就会影响到3D画面的速度。换句话说,3D芯片/卡的多边形生成率越高,3D芯片/卡的3D处理能力就越强,但对CPU的3D计算要求也越高。所以我们才会看到新一代的高档3D芯片/卡的性能表现都强烈依赖于CPU的等级。