GeForce 3技术大公开 2001年 40期 #1○史上最强的GPU   nVIDIA GeForce 3图形芯片的晶体管数目多达5700万个。想当初NVIDIA早期产品RIVA 128 也不过才700万个晶体管,连目前最火的GeForce 2也不过“只”有2500万个晶体管,目前最大的敌手“ATI Radeon”芯片也不过3000万个晶体管,甚至于处理器霸主Intel的P4也充其量为4200万个晶体管。NVIDIA为了不让芯片面积过大,让GeForce 3采用了目前先进的0.15μm制造工艺,与先前GeForce 2系列0.18μm的制程相比,提升制程可以让这款“神”级的芯片组有更高的运行频率与更低的电压消耗比。在内存方面,NVIDIA给GeForce 3芯片配备了128-bits宽的64MB DDR SGRAM或者DDR SDRAM(版本有所不同),目前几家大厂的GeForce 3图形卡都按照公板设计,配备64MB 3.8ns DDR SDRAM。GeForce 3为了解决显示技术上的瓶颈在显存带宽方面的问题,采用了一种名为光速内存架构的交错式内存控制器,因为现在这种交错式内存控制器能更有效率地利用图形卡内存带宽,最高时显存带宽利用效能可提升3倍。   之前NVIDIA在研发GTS的时候,就在GTS内部核心引入了4条像素渲染管线。理论上纹理填充速度就已经达到了1.6Gigatexels/s。这就是GTS名称的来源。这次NVIDIA还在GeForce3的渲染架构上采用GTS的4线双纹理模式,但是在操控和分配像素管线资源方面,比GTS增强不少。   从规格上来看,GeForce 3与GeForce 2有很多相同的地方。都是4条像素渲染管线(Pixel Pipelines);每条渲染管线内含2个Textures,内存接口仍然是128-bits,230 MHz 的显存(460 MHz DDR),和GeForce 2 Ultra完全相同。不过GeForce 3芯片核心电压是200MHz,比GeForce 2 Ultra的250 MHz要低50 MHz。从数据上看来,NVIDIA这款新芯片好像是仅比GeForce 2那些芯片要好一点点,但每一项功能却又比GeForce 2更为先进,连顶级的GeForce 2 Ultra也只能望而却步,将目前最强显示芯片的位置让给了GeForce 3。   #1○GeForce 3的独门绝技   #21.高清晰度反锯齿HRAA   以前NVIDIA在GeForce 2中采用所谓“超级取样”这种方法实现全屏幕的反锯齿功能,不过说穿了就是将需要进行反锯齿的场景或者物体进行1×/2×/3×/4×不等的极高分辨率的方式渲染,然后以游戏指定的分辨率输出来消除图形边缘的锯齿。但是这种方法的缺陷也是十分明显的,使得GeForce 2芯片打开FSAA后,游戏效能急速下降。   NVIDIA在GeForce 3中使用了全新的硬件HRAA-高清晰度反锯齿技术来实现FSAA全屏反锯齿效果。NVIDIA宣称HRAA-高清晰度反锯齿技术以较小的效能牺牲来达到和FSAA(全屏反锯齿效果)一样的反锯齿效果。HRAA-高清晰度反锯齿的实际运作方式是通过芯片内部核心集成的“重建过滤”模块,根据输出像素周围的4个像素资料进行计算,并和待输出像素比较来最终确定这个像素的输出位置和相关参数。NVIDIA把这种采样对比的过程称作“Quincunx”五点梅花取样,它可以利用2×FSAA运算量和显存带宽占用率获得GeForce 2时4×FSAA所达到的效果。而且五点梅花采样所消耗传统的2×FSAA大致相同。因此大家如果拿GeForce 3来跑目前市面上的游戏,那么唯一的好处就在于以极少的效能损耗比来换取较优质的游戏反锯齿画面罢了,想要真正利用GeForce 3的能力,还必须等游戏厂商开始利用上述功能所设计的游戏发售后才能真实体会!   #22.NfiniteFX图像引擎   这次GeForce 3图形芯片另一个最大的卖点就是NfiniteFX图像引擎。NVIDIA宣传NfiniteFX图像引擎是业界首个完全可编程的3D图形芯片架构。游戏设计者可以完全摆脱以前的既定的SDK效果模块,通过完全可编程的NfiniteFX图像引擎让设计完全发挥不受局限。NfiniteFX图像引擎实际上是由顶点着色单元(Vertex Shader)和像素着色单元(Pixel Shader)两部分组成,NVIDIA甚至为此两个单元申请专利,同时也表示出NfiniteFX图像引擎在整个GeForce 3内部核心架构中重要性的重要地位。   所谓“可编程”就是说设计者可以通过SDK中NfiniteFX图像引擎相关的几十个指令的自由组合来操控顶点着色单元以及像素着色单元,在渲染之前根据设计者构思来修改像素或者顶点的颜色,透明度等等信息。由于指令的几百万种组合变化,因此NVIDIA才将此架构称为“NfiniteFX”,也就是千变万化。   我们知道,3D绘图流程画面里的每一个对象,全都是由许多的三角形组合而成的。Vertices就是三角形的顶点。3D立体对象就是由这些顶点所构成,每个顶点都包含着许多信息。除了空间中基本的X、Y、Z坐标位置外,以及W(权重),还有在聚光和散射光源下所表现出的色彩变化。这些颜色资料通常以RGBA格式编排,分别代表红,绿,蓝,以及透明度(alpha)。当CPU要对三角形顶点着色而产生的效果进行大量运算,其中的很多效果对于CPU的要求相当高,而诸如立方体环境映像这样的功能单靠CPU几乎无法使用。现在有了GeForce 3的出现,使得大量的顶点着色单元运算从CPU转移到了GPU上,因为GPU是特意为执行此类运算设计的,所以在性能将极大优于CPU。这也意味着顶点着色单元打开了实现更加复杂的动画角色的大门,通过这扇门你会看到人们脸上更加生动的表情——甚至可以描绘每一块肌肉的确切的动作;衣服不再像是厚纸板粘在身上,而是会随着走动轻轻飘动……另外利用关键动画插值运算功能,动画设计师只是需要把关键图的顶点状态设置好,中间的过程都是由GeForce 3芯片实时运算出来的。   无论3D图形生成过程如何复杂,最终我们看到仍然是显示屏上像素组成的图像。所以还需要对每一个像素进行具体的操作,这就是像素着色单元设计的初衷。NVIDIA声称:“可编程的像素着色单元能够提供对于独立像素前所未有的控制,比如光照、阴影、颜色”。NVIDIA以变色龙作为示范。想要看动画范例的话,可以到www.nvidia.com下载动画mpeg档6.4MB左右。像素着色单元允许开发者编制自己的程序来控制像素的效果,同GeForce 3 GPU强大的运算能力相配合,每个周期能处理2组4个材质像素。大家都知道,Dot3凹凸映像技术比EMBM(环境凹凸映像)好得多,可是GPU的性能问题一直让Dot3无法施展它的才能。而现在GeForce 3 GPU完全支持Dot3,游戏设计师可以用它为自己的游戏增加更多的炫目的效果了。