● “免费”的平滑画质与无损抗锯齿
GeForce 8800 Ultra具备6组内存控制器,每组包含4个光栅着色器(ROP),总计为24ROP。其中每组内存控制器可提供64bit显存位宽,合计就是6*64bit=384bit。nVIDIA将ROP部分重新组合设计,使其效率较以往又有提升。
每一个3D模型都包含着X,Y,Z三个轴与色彩信息W,这是显卡运做中最基本的东西。但我们目前还没有办法将3D真实的还原出来,无论多么昂贵的显示器也只能进行包含一个平面坐标系与对应色彩的2D显示显示。对于显卡来说,将运算结果输出到显示设备必须先经过ROP对像素进行处理。如果输出的分辨率固定下来,那它所包含的像素数目也是固定的,这时候把包含“深度”信息的3D场景直接搬上2D银幕,其结果是必然会有锯齿产生。
锯齿与抗锯齿(Antialiasing,AA)总是会被同时提起的,超级采样抗矩尺(Super Sample Antialiasing,SSAA)是较早采用的一种AA模式。实现SSAA的方法很简单:只需将所有的3D模型框架(三角形)与贴图进行采样并缩放既可。理论上采用SSAA所得到的画质是最好的,但实现SSAA的代价十分高昂。它相当于给显卡增加了几倍的运算量,其负担令人难以承受。即使是今天的王者GeForce 8800Ultra与R600XTX,打开SSAA后也会出现巨幅的性能下降……
Multi Sample Antialiasing(MSAA)是目前采用比较多的一种AA模式,它的原理与SSAA差别不大:保持对同等数量的3D模型框架进行取样的前提下,减少对贴图的取样点。理论上使用MSAA处理后的画面质量要差一些,但从实际效果来看,这种差距并不会对应用带来明显的影响。开启MSAA对显卡来说同样是一笔沉重的分担,但至少比起SSAA来说这已经算是廉价而高效的解决方案了……
无损抗锯齿一直是人们所追求的目标,在这方面GeForce 8800Ultra为我们带来了惊喜。所谓无损抗锯齿指得是(相对NA AA)不付出性能损耗的代价即可实现一定程度的抗锯齿效果,4X MSAA则是玩家们常用来判断一块显卡抗锯齿能力的标准之一。强大的像素输出机构是实现无损抗锯齿的必要条件,GeForce 8800Ultra具备6组24个ROP,宽带达到了384bit,并进一步对ROP进行优化编排,提高其效率。
在测试中,我们发现在主流的1280*1024分辨率与高端的1600*1200分辨率下,使用4X MSAA带来的性能下降被控制在5%之内。也许这还算不上纯粹的无损抗锯齿,不过它已经具备了相当的应用价值。毕竟在实际使用的过程中,5%的性能差距往往是难以察觉的。
除了可以用低廉的代价实现MSAA外,GeForce 8800 Ultra还为我们提供了一种新的渲染模式:Coverage Sampling Antialiasing(CSAA)。CSAA通过对算法的重新编排,可以压缩掉多余的色彩值与深度值,提供额外的取样点。这样的设计可以减少进行抗锯齿操作时所要处理的数据量,提高效率。在我们的测试中,采用16X CSAA与4X MSAA所带来的系统损耗相差无几,其效果却远强于4X MSAA。这就意味着GeForce 8800Ultra有实现无损16X CSAA的能力!不过令人遗憾的是,CSAA的应用面还比较小,在一些老游戏中强制打开CSAA有可能会导致渲染出错。
GeForce 8800Ultra提供384bit的显存带宽,无论从哪种意义上这都是一个很奇怪的数字。在以往的显卡所配备的显存带宽往往是2的积数,从32bit到256bit,其演变过程从没产生过偏差。据传,AMD在自己的旗舰级产品R600XT/XTX中都配备了512bit的显存带宽,而GeForce 8800 Ultra仅有384bit,这是否意味着nVIDIA的失败?
在测试的过程中,我们发现384bit的显存带宽为GeForce 8800 Ultra带来了实质上的性能提升,带来了无损抗锯齿的能力,这些特性在严苛的测试环境下也没有出现瓶颈。在笔者看来,虽然不能断言512bit的带宽是资源浪费,至少384bit的带宽已经可以满足包括极限情况下的需求。联想到追求效率而不追求吞吐量的MIMD架构,不禁令人感慨:G8X是一种非常务实的设计。