不败传说之第五幕──GeForce FX
硬件周刊
面对ATi Radeon 9700 Pro的强大攻势,谁都看得出NVIDIA老旗舰产品GeForce 4 Ti4600有些疲于应付。就在DirectX 9.0进入最后的测试阶段之际,NVIDIA终于在11月18日的COMDEX Fall2002上发布了万众期待的GeForce FX((图1)),这就是新一代电影级显示芯片──NV30。

NV30 ≠ GeForce 5?
为什么代号为NV30的产品没有顺理成章地叫做GeForce 5呢?看来NVIDIA每过一两代产品都会改变一下命名规则。也许Pentium 5(Prescott)出来之前,NVIDIA不好意思先进入“第5世代”吧,不过字母F倒是有5(Five)的含义。其实,GeForce FX代表了三层含义,首先是NV30具有前所未有的CineFX引擎,其次FX的读音与Graphic的词尾读音相近,另外就是NV30的研发队伍中也包含了原3dfx的人员,所以FX是3dfx的后一半。这次是NVIDIA第一次公开场合给足3dfx面子,在介绍NV30的幻灯片中,GeForce FX和3dfx的名字放在了一起。
GeForce FX的样品已经可以展示了,但是第一批产品预计要到明年1月才能上市。尽管GeForce FX的测试速度可以超过Radeon 9700 Pro 25%~50%,但是明年初要面对的恐怕是ATi的R350了,谁能取胜还要由市场来决定。据悉,最先上市GeForce FX可能分成两个版本:GeForce FX 5800和GeForce FX 5800 Ultra,从名字上就能看出这是系列中的最高端型号,仍旧遵循了GeForce 4 Ti4x00的命名规则,然而价格可不便宜,它们分别卖到399美元和499美元。
制造工艺新纪录
NVIDIA声称GeForce FX体现了当前工程技术的最高成就,相信看到芯片照片上那1152个焊脚的人都会惊叹不已((图2))。从外观上看GeForce FX的金属顶盖封装形式(很像是Celeron的外观)似乎没有Radeon 9700 Pro的裸芯封装(就像Celeron Ⅱ)那么“酷”,但是这样一来也不那么容易损坏和烧毁。在内部GeForce FX使用了TSMC(台积电)刚刚投产的0.13微米铜互连生产工艺,只有这样的工艺才能让这颗集成了1.25亿个CMOS晶体管的“巨大”芯片运行在500MHz的高频下。

GeForce FX在500MHz时每秒可以处理3.75亿个顶点数据、40亿个像素渲染和160亿个反锯齿(AA)取样。为了配合这么强大的核心处理能力,GeForce FX配备了128位的DDR 2内存接口,显存的等效运行频率高达1GHz,带宽达了16GB/s,内部集成了少有的双400MHz RAMDAC(随机数模转换器)。耗资4亿美元的GeForce FX不论是引脚数量、集成晶体管数、核心/显存运行频率还是各种理论数据都远远超过了Radeon 9700 Pro。当然这些工程成就的代价就是发布期一延再延,毕竟使用的这一切都是正在开发的最新技术。
CineFX引擎
NVIDIA一直以来都认为,实时生成电影质量的CG动画是近期电脑3D硬件的最高目标,从X-Box和GeForce 4 Ti的惊人效果上,我们就已经看到了桌面电影工作室的雏形。如今GeForce FX终于让NVIDIA如愿以偿,因为GeForce FX的处理能力已经接近于以往的渲染工厂,做出来的动画很类似于电影CG的水准。这也难怪GeForce FX的主打功能被称做CineFX,就是Cinema(电影院)和Graphic(图形)两个词头尾相接“造”出来的新名词,其意义不言自明。CineFX这个新引擎主要还是由新一代的Vertex Shader(顶点着色器)和Pixel Shader(像素着色器)构成。
Vertex Shader 2.0+
称作2.0+是因为NVIDIA如今同微软之间已经是既合作又竞争的关系。GeForce FX支持DirectX 9.0,但是又不屑于仅仅支持DirectX 9.0的Vertex Shader 2.0和Pixel Shader 2.0,所以才搞出个类似于AMD的Athlon XP的“+”号。GeForce FX的Vertex Shader 2.0+首次支持循环和分支的程序结构,最多可以在一个顶点(Vertex)的Shader(效果处理器)程序中使用多达256个指令,算上循环和分支结构,Vertex Shader 2.0+最多可以一次执行65536条指令。
Pixel Shader 2.0+
Pixel Shader 2.0+在一个渲染周期内就能执行多达1024个指令,这让我们可以轻易实现特别复杂的效果。比如说,使用Shader程序生成纹理,这样就根本不需要利用显示内存作为纹理缓存了。从数学上早已解决了生成纹理的算法问题,只可惜运算量之大以前总让人望洋兴叹。另一个是复杂的光照模型,既可以使用T&L引擎或者Vertex Shader通过几何变换得到,也可以使用光照纹理实现,现在用Pixel Shader 2.0+可以得到近似于真实的光线效果。而且Pixel Shader 2.0+可以在一个渲染周期内同时使用多达16个纹理,因此我们能够想象得到的纹理都能用上去:例如,凹凸贴图、光泽/高亮纹理、环境纹理、阴影纹理(Shadow Map)、反射率纹理(Albedo Map)、置换纹理(Displacement Map)等等。
从根本上来说,GeForce FX符合DirectX 9.0要求的根本进步就是Vertex Shader 2.0+和Pixel Shader 2.0+的内部核心全部是浮点架构(还是128位的),之前只有Radeon 9700 Pro达到了这个要求,看来没有1亿以上的IC规模是没有办法满足DirectX 9.0的需要的。真不知道以后该怎样谈论显示卡的性能,关键的问题是有多少用户将很快升级到DirectX 9.0级别的硬件平台,最终就要看游戏开发人员能拿出怎样的创意来利用这些无穷的可能性。
128位高精度电影级品质
刚才大家有没有注意到那个最重要的信息──GeForce FX处理色彩使用的竟然是128位的通道,真正的128位色彩是什么样的,你能想象吗?
过去的32位色彩模式中,红、绿、蓝三原色各占了8位,还有8位给半透明通道使用,因此色彩中的红色成分就只能有256种变化,在纹理混合的时候也只能有256种不同的透明度,这样一来再经过多种处理过程之后,最终的结果难免面目全非。这就是为什么电脑游戏的色彩总是不那么真实自然的主要原因。Quake之父John Carmack曾经呼吁各硬件大厂支持64位的整数色彩模式或者32位的浮点色彩模式,现在NVIDIA首创了128位的整数色彩格式,Carmack“大师”是否会感动到抛开Radeon 9700 Pro,转而选择GeForce FX作为DOOM Ⅲ的“代言人”呢?
不论如何GeForce FX必将带来更真实、精确的色彩,以及更丰富、灵动的光影。NVIDIA能否改变在人们心中色彩不佳的形象的转折点也许就在现在。
NVIDIA+3dfx的未来
显然,3dfx并入NVIDIA的影响是巨大的。合并的代价是时间,整合两方面的专利技术固然困难,将多个观点截然不同的研发团队带上一致的发展方向更加难以想象。
最近NVIDIA做出了一些调整,特别是在产品线的整合方面:低端市场完全交给GeForce 4 MX440SE负责(当然是在GeForce 2 MX400清仓之后),中间是GeForce 4 MX440-8X和更高的GeForce 4 Ti4200-8X(会不会有GeForce 4 Ti4800-8X还尚未确定),高端就是以GeForce FX 5800和GeForce FX 5800 Ultra领军的NV30系列。这样NVIDIA已经简化了过去有些令人无所适从的复杂产品线。
当初3dfx就是因为研发放慢、产品昂贵输给了NVIDIA。希望在GeForce FX面世的关口,NVIDIA自己不再犯同样的错误,进而延续不败的传说。