3D王朝的传说——从DirectX看NVIDIA显卡的发展(上)

硬件时空

正所谓“长江后浪推前浪,前浪死在沙滩上。”进入21世纪后,昔日在3D显卡领域的王者3DFX公司和它的Voodoo系列显卡已经消失在历史的长河中。也许有人会怀念,会忘不了Voodoo、Voodoo2给我们带来的一次次惊喜和兴奋,但历史的发展不是个人情感可以左右的。此时,桌面显卡性能王者之争已经变成NVIDIA和ATI两家公司的表演赛,它们的一举一动都是硬件爱好者、游戏爱好者关注的焦点,另一方面,显卡的发展和DirectX的进步也有着千丝万缕的联系,可以说DirectX的发展体现了3D技术的发展,也引导着显卡发展的方向。

知识加油站:什么是DirectX?

DirectX是一种应用程序接口(API),它为PC提供了一整套多媒体接口方案。因为在3D图形方面有着极其优异的表现,让其他接口(如音频接口)显得暗淡无光。DirectX开发之初是为了弥补Windows 3.1系统对图形、声音处理能力的不足,现在已发展成为对整个多媒体系统的各个方面(特别是3D图形方面)都起着决定性作用的接口。

DirectX 7时代

关键词:速度!速度!

在彻底颠覆了Voodoo王朝,经历了TNT2和GeForce256带来的巨大成功后,NVIDIA于2000年4月发布了基于NV15架构的GeForce2 GTS。在DirectX的支持上,比TNT2只支持DirectX 6.0更进一步,支持DirectX 7.0。DirectX 7.0中最大的特色就是支持硬件T&L(坐标转换和光源),在3D游戏中,任何一个物体都拥有一个坐标,当物体位置发生变化时,它的坐标也随着发生变化,而不管是什么物体,没有光源就不会显现出来,在DirectX 7.0之前,所有坐标的转换与光源处理都是交给CPU来处理的,这时的显示性能就要根据CPU的速度来决定,CPU速度越快,显示性能也就越好,而DirectX 7.0发布之后,所有关于坐标与光源处理的部分都交由显卡处理,这就直接降低了CPU负荷,所以在当时拥有一块支持DirectX 7.0的显卡是游戏玩家梦寐以求的。

39-d5-01.jpg
GeForce2 GTS

在技术上,GeForce2 GTS首次采用了0.18微米制程,核心工作频率由GeForce256的120MHz提高到了200MHz。像素填充率达到了1600 MTexels/s。GeForce2 GTS拥有四条图形纹理通道,每周期每条通道可以处理两个像素纹理,并搭配了DDR显存来解决显存带宽不足的问题,同时增加了对FSAA、S3TC(S3纹理压缩)等3D效果的支持。

FSAA(FULL SCENE ANTI-ALIASING全屏幕抗锯齿)能通过使用色调技术(包括补间插值、超级采样,边缘模糊等技术)将3D画面中的多边形失真情况降到最低。给玩家一个看似没有锯齿的画面。其实它并没有真正将锯齿去除掉,只是在像素级别上抗失真而已。

虽然FSAA能在一定程度上减少锯齿现象,对于GeForce2系列的显卡来说,因为自身性能还不够强,在玩3D游戏时,打开FSAA后,会使显卡的负担大大增加,导致游戏性能大幅度下降。而一幅未开启FSAA的1024×786分辨率的画面会比一幅打开4×FSAA的640×480分辨率的画面更能有效地减少锯齿。随着显卡性能的不断提升和大分辨率显示器的涌现,相信在不久的将来,FSAA这种技术会逐步被人们所遗忘。

你知道吗:在GeForce2 GTS的基础上,又衍生出GeForce2 Pro、GeForce2 Ultra和2001年9月推出的GeForce2 Ti等几种产品。其中GeForce2 Ultra的核心/显存频率达到了250MHz/230MHz。GeForce2 Pro的核心/显存频率为200MHz/200MHz。GeForce2 Ti的核心/显存频率为250MHz/200MHz。

39-d5-02.jpg
开启FSAA(上)与未开启FSAA对比

GeForce2 GTS强大的性能在当时无与伦比,但其过高的售价(当时为500美元左右)却阻碍了它进入普通消费者的视野。为了占领低端市场,NVIDIA在2000年6月,在GeForce2 GTS的基础上发布了其精简版——GeForce2 MX(开发代号NV11),它同样能完美支持DirectX 7.0。虽然它的渲染管线只有GeForce2 GTS的一半,图像填充率只有700 MTexels/s,比GeForce2 GTS的1600 MTexels/s低了不少,但价格仅为GeForce2 GTS的1/3,性能和1999年发布的GeForce256相当,0.18微米制程的GPU同GeForce256 0.22微米GPU的制造工艺相比,大幅度降低了显示核心的发热量,只需一个散热片即可满足散热要求。贴近大众的价格和不错的性能立即赢得了广大消费者的追捧,在当时来说,是一款性价比非常不错的产品。随后,在2001年3月6日,NVIDIA又发布了GeForce2 MX200和GeForce2 MX400两款面向普通消费者的产品,占领了绝大部分低端市场。

39-d5-b1.jpg

DirectX 8时代

关键词:进化、真实

时间进入2001年,此时流行的是DirectX 8.0。DirectX 8.0和DirectX 7.0相比,有了巨大的进步。它首次引入了“像素渲染”概念,同时具备像素渲染引擎(Pixel Shader,以下简称VS)与顶点渲染引擎(Vertex Shader,以下简称PS),反映在特效上就是动态光影效果。同DirectX 7.0支持的T&L仅仅实现的固定光影转换相比,VS和PS单元的灵活性更大,它使GPU真正成为了可编程处理器。这意味着程序员可通过它们实现3D场景构建的难度大大降低。通过VS和PS的渲染,可以很容易营造出真实的水面动态波纹光影效果。DirectX 8.0的出现,确立了DirectX的权威地位。

39-d5-03.jpg
39-d5-04.jpg
DirectX 8.0(上)与DirectX 7.0的效果对比

虽然2000年对于NVIDIA来说是非常成功的一年,但同时,其最大的竞争对手——ATI也在悄悄地迅速成长着。虽然在DirectX 7.0时代,ATI只扮演着NVIDIA追赶者的角色,但在2000年年中,ATI发布了RADEON(镭)显示核心,开始与NVIDIA开始了正面的激烈对决。

RADEON支持DirectX 8中的几项新特性,而此时的GeForce2系列仍然还停留在DirectX7.0时代。对于实力强劲的NVIDIA来说,它自然不允许被对手超越,因此,在2001年11月,NVIDIA发布了其历史上第一款支持DirectX 8的显示芯片——GeForce3(开发代号NV20)。在制造工艺上,GeForce3采用了新的0.15微米技术,让GPU内部的晶体管数目达到了5700万。和GeForce2 GTS的2500万个相比,增加了一倍多。每秒可以进行8000亿次的运算。像素填充率达到了8亿/秒。最大的特性是GeForce3引入了一个高度可编程的动画效果引擎——“nfinite FX”,从而使GeForce 3成为第一款具有完全可编程能力的GPU。

你知道吗:nfiniteFX引擎的像素阴影(Pixel Shaders)处理和顶点阴影(Vertex Shaders)处理使得程序开发者可以轻易地实现丰富的特效和视觉效果。开发者再也不用局限于单调的调色板来选择颜色,可以随心所欲地搭配出想要表现出的独特效果,让游戏和多媒体应用展现出惊艳的视觉效果。

与NVIDIA此前发布的GeForce2、GeForce256等注重游戏速度的显卡不同,GeForce3强调的是将画面真实重现,虽然核心频率还是只有200MHz。但由于采用了Lightspeed Memory Architecture(光速存储结构),为显卡提供了7.36GB/s的显存带宽,可以在高分辨率下提供前所未有的游戏性能。为了游戏画面的真实性,GeForce3还在抗锯齿的算法上有了新的突破,比如采用了新的五点梅花形排法反锯齿算法(Quincux),让抗锯齿的效率大大增加,游戏玩家可以开启这种功能玩游戏,而不会像以前那样使游戏速度大大降低。

和此前的GeForce2 GTS类似,GeForce3也按照核心、显存频率的不同划分为GeForce3、GeForce3 Ti 200、GeForce3 Ti 500三种型号。

另一方面,在2001年8月ATI发布的RADEON 8500让NVIDIA感到极大的压力。RADEON 8500在硬件上完全支持DirectX 8.1,在当时无论是性能、做工的优秀程度还是画面的显示质量,RADEON 8500都比GeForce3出色,成为业界公认的性能最出色的显卡。

39-d5-05.jpg
GeForce3显示核心

但NVIDIA绝对不是一个甘愿落后的公司,到了2002年,NVIDIA终于发布了研发代号为NV25的GeForce4 Ti。虽然GeForce4 Ti仍然采用了0.15微米制造工艺,但内部晶体管的数目已经达到了6300万。以先发布的GeForce4 Ti 4600为例,它的核心频率达到了300MHz,搭配的DDR显存提供了10.4GB/s的显存带宽。

39-d5-06.jpg
GeForce4 Ti所能表现出的优秀效果

在很多时候,我们可以把GeForce4 Ti看成是GeForce3 Ti的一个升级版。它仍然是4条流水线,每条流水线包含两个材质贴图单元(TMU),拥有从GeForce3时代的nFinite FX引擎升级而来的nfinite FX Ⅱ引擎和第二代光速显存架构(LMA Ⅱ)。因为GeForce4 Ti配备了两个顶点着色引擎(GeForce3 Ti为一个),可以处理更多的顶点数量。LMA Ⅱ的采用能优化渲染过程及数据压缩等技术,大大节省了显存带宽,提升了显卡的性能。在全屏反锯齿方面,GeForce4 Ti采用了新的Accuview AA技术。

和以前的产品一样,GeForce4 Ti同样按照核心、显存频率的差异被划分成了GeForce4 Ti4200、GeForce4 Ti4400和GeForce4 Ti4600。后来又在NV25的基础上推出了开发代号为NV28的GeForce4 Ti4800。

为了占领低端市场,NVIDIA同样发布了GeForce4 MX系列,它们根据核心频率的高低,划分成了GeForce4 MX420、GeForce4 MX440和GeForce4 MX460三种(后来又推出了GeForce4 MX440 SE、GeForce4 MX440和GeForce4 MX4000)。不过由于GeForce4 MX420的性能太平庸,购买的消费者并不多,征服低端市场的重担完全压在了GeForce4 MX440身上。

虽然GeForce4 MX系列的名字与GeForce4 Ti相似,顶着GeForce4的光环,但并不能说它们就是GeForce4 Ti的简化版。首先在对游戏特效的支持上,GeForce4 MX反而不如GeForce3能支持DirectX 8.0,而GeForce4 Ti则可以支持DirectX 8.1,这就造成它与GeForce4 Ti在本质上的区别。我们可以把它看成是高频版的GeForce2显示核心。

不过GeForce4 MX也并非一无是处,采用了GeForce4 Ti 没有的视频处理引擎,它可以进行MPEG2 解码并让DVD回放平滑。加上内建的视频记录功能,一台配备有GeForce4 MX的电脑可以轻易作为家庭娱乐平台使用。

39-d10-b1.jpg

总结:

2000年对于NVIDIA来说,是关键的一年,在这一年年底,NVDIA收购了3DFX公司。产品方面,在高端,有GeForce2 GTS等旗舰级的产品,在低端有GeForce2 MX这种“平民的法拉利”,齐全的产品线分布让不同层次的消费者都能找到合适自己的显卡。而GeForce2 GTS和GeForce2 MX的成功,为NVIDIA以后的发展奠定了坚实的基础。

在DirectX 7.0和DirectX 8.1时代,NVIDIA更加巩固了其在3D图形处理领域的绝对统治地位,虽然偶尔感受到了来自ATI的威胁,NVIDIA还是凭借它在技术上的优势一次又一次地压制住了ATI的攻击,一直走在时代的前沿。