争奇斗艳——1999年3D加速卡技术回顾 徐雷 1999年 第46期 20版   从市场来看,1999年是3D显卡竞争异常激烈的一年,各3D显示芯片生产厂商都有新的产品推出,并且在一年之间经历了两次更新换代。如果我们把S3 Virge系列3D加速卡称为第一代3D加速卡的话,那么3dfx Voodoo、Voodoo2分别可以称为第二、三代3D加速卡。因此,今年先后的两次产品换代中,以3dfx Voodoo3和Voodoo4为代表的同一档次产品就是第四、第五代3D加速卡。   第四代产品主要的战斗仍然是在nVIDIA的TNT2系列、3dfx的Voodoo3系列和MGA的G400系列之间展开,而参加者还包括S3的Savage4和姗姗来迟的ATI Rage128、3Dlabs Permedia3等。第四代3D显卡市场比较特别的一点是几乎各芯片厂商的产品都形成由低端到高端的系列,战线更长,也加剧了3D显卡大战的激烈程度。   要简单地通过3D加速卡的性能高低来评价其技术好坏是不恰当的,因为一块加速卡的某项性能指标往往受到多方面因素的影响,例如1999年上市的第四代3D加速卡都有着较高的像素填充率,而像素填充率受到多项因素的制约,它主要和3D芯片时钟频率、独立管线数量、显存带宽和芯片核心特征等有关,同时也受到游戏的影响。理论上,TNT2的像素填充率比Voodoo3要低,但在复杂场景中,它的得分往往更好也就是这个原因。   1999年上市的第四代3D加速卡大多板载32MB显存,而通常我们使用的3D游戏分辨率为1024×768×32 位色深,这种分辨率仅需要16MB显存支持,32MB显存能提供1280×1024×32 位色深,但这种分辨率几乎没有人采用,因为按多数用户的配置,这一分辨率下游戏肯定达不到令人满意的速度。新的3D加速卡中很多产品显存和核心频率不同,这有利于充分发挥加速卡的性能,用户可以单独调节显存和核心的时钟频率,以求达到最高的性能组合。   对AGP 4×的支持也是第四代3D加速卡的一大特色,现在的3D加速卡多数支持AGP 2×,AGP 4×提供更高的数据带宽,虽然直到现在,AGP 4×的主板也没有占据主要位置,并且有关测试表明,现在的软件、游戏中2×和4×并没有明显的性能差异,但AGP 4×肯定是未来的主流。   第四代3D加速卡几乎都支持32位真彩色渲染,唯一的例外是Voodoo3。32位渲染提供了更好的画面效果,虽然在高速运动的游戏过程中,用户无法分辨32位和16位渲染的差别,但在静止画面中,某些特定场景两者的差别非常明显,例如即时3D战略游戏《家园》,该游戏的场景可以非常明显地分辨出32位渲染和16位渲染的差异。   对数字平板显示器的支持也是第四代显卡的特色之一,不过因为国内使用数字平板显示器的用户较少,所以尽管显示芯片支持这一功能,但多数显卡并没有提供数字平板显示器接口,只有某些高端型号才支持。(^462001a^ 采用TNT2芯片的显示卡) #1nVIDIA TNT2   nVIDIA无疑在第四代3D显卡大战中占有优势。它推出的3D芯片分为高端的TNT2和低端的TNT2 M64,其中TNT2还根据核心频率的不同,分为125MHz的标准TNT2 和150MHz的 TNT2 Ultra。以技术特性来说,TNT2充分代表了第四代3D显卡的特色:128位核心、支持AGP 2×/4×、32MB板载显存、300MHz的RAMDAC……而第三代显卡相对的特性为:64位核心、支持AGP 2×、16MB板载显存、250MHz的RAMDAC。   和nVIDIA的前一代产品TNT相比,TNT2采用了0.25微米工艺,核心频率和显存频率都更高,以至于很多人认为它就是超频以后的TNT。它支持高达2046×1536的分辨率、32位渲染、32位Z-Buffer和模版缓冲、最大2048×2048的材质纹理等等。总的来说,TNT2是第四代3D加速卡中各方面最均衡的一款,无论游戏还是图形设计,TNT2都有用武之地。   TNT2 M64是一个市场型的产品,为了降低成本,达到更有利的价格而“出生”,它的核心仅为64位,但在其他方面和TNT2几乎没有差异,值得思考的问题是32MB显存的M64究竟有没有意义?从性能来看,M64大概比前一代的TNT要好一些,但和同样配置TNT2有比较明显的差距。   nVIDIA编写驱动程序的能力现在显然排在榜首,TNT2的驱动程序是第四代3D显卡中最完善的,从著名的“雷管”2.08开始,其驱动程序都适用于这一系列的所有显卡,它有完整的D3D和OpenGL驱动,充分发挥了显卡的性能,这一点非常重要。 #13dfx Voodoo3   3dfx在1999年作出了不少让人诧异的举动,它原本是一家设计和生产3D芯片的公司,今年收购了著名的显卡生产商STB,自己制造显卡。将开放的模式转为封闭,虽然有助于规划和管理,增加利润,但其中的利弊确实还很难说。从技术而言,3dfx更是一家“逆潮流而动”的公司,今年的主力产品Voodoo3居然还是一块“AGP接口的PCI显卡”,并且只支持16MB显存和16位色深。   Voodoo3系列显卡由低端到高端分为143MHz的Voodoo3 2000、166MHz的Voodoo3 3000和183MHz的Voodoo3 3500。这三种型号的2D、3D核心是相同的,其差异主要是核心频率提高带来的性能提高以及一些附加功能不同而已。Voodoo3是一块2D、3D合一的加速卡,3D核心支持双32位管线,单通道、单周期多材质贴图,最低端的Voodoo3 2000每秒也可以绘制6百万个三角形。Voodoo3对系统配置的要求较低,它还支持AMD 3Dnow!,对于K6-2系列CPU的用户来说,是比TNT2更好的选择。   Voodoo3最为人批评的地方在于只有16MB显存且不支持AGP和32位色渲染。由于它只能处理最大为256×256尺寸的纹理,且不支持AGP,所有的材质纹理都需要存储在显存中。当游戏分辨率很高,例如1280×1024甚至1600×1200,或者使用很大的纹理贴图时,Voodoo3就会显得力不从心。不过在目前的实际使用中,我们最常用的分辨率是800×600或1024×768,在速度上Voodoo3绰绰有余。至于16位色渲染,其实在Voodoo3核心处理时,支持24位色渲染,然后抖动输出,在多数游戏中,并不容易察觉与32位色的差异,但部分游戏中差距非常明显。另外,Voodoo3没有一个完整的OpenGL ICD,不能用于3D图形设计。   Voodoo3系列显卡有一个明显的优点,它的超频性能很好,Voodoo3 2000可以超到比Voodoo3 3000更高的频率且能正常工作,并且价格很有优势,Voodoo3 2000无疑是性价比最高的第四代3D加速卡。另外,3dfx的看家法宝Glide是Voodoo3的一大优势,尽管D3D和OpenGL是主流的API,但至少在今年,Glide的优势仍然存在。(^462001b^ 3dfx Voodoo3 300显示卡) #1Matrox G400   由于种种原因,位于加拿大的Matrox公司的前一代产品G200在中国的口碑并不是太好,虽然在第三代3D加速卡中第一个登场,虽然3D性能并不出众,但不可否认的是它的画面确实非常漂亮,所以G200+Voodoo2的组合一度成为发烧友的梦幻配置。今年G400在第四代显卡中最后一个露面,其性能又如何呢?   Matrox G400卡也自成系列,它们使用同样的核心,根据配置和功能不同分为:Millennium G400单头16MB和32MB、Millennium G400双头16MB和32MB、Millennium G400 MAX。G400可以说是1999年3D显卡中技术更新最多的一款,和G200相比,它把原来核心双向64位总线提高到双向128位,而目前其他128位显卡仍是读写不能同时工作的单向流程。不过从G400的系统方块图我们可以了解到其芯片和显存之间的仍然是128位传输,所以G400并不是一块256位的3D加速卡。并且G400把原来的32位渲染技术( VCQ)精确到第二代32位渲染(VCQ2),这使G400的画质在第四代显卡中名列前茅。   G400还有两个最为重要的特性不能不提,正是因为这两个特点,笔者才认为G400是1999年3D显卡中技术方面最有创意的一款。第一是Matrox G400支持Bump Mapping真硬件DirectX6环境凹凸贴图渲染技术,这一技术通过微软DirectX6在游戏中得到体现,增加了3D场景的视觉真实感,而其他显卡只是通过模拟实现。不过从1999年的整体情况看,Bump Mapping和S3的材质压缩一样,是一项叫好不叫座的技术,支持该技术的游戏屈指可数。由于缺少软件的支持,Bump Mapping并没有成为用户选购显卡的必要条件。第二是G400专有的双头视频显示能力,双头显示使用户把同时独立的输出连接到两台不同分辨率的显示器上(15英寸和17英寸同时使用),或者连接到一台显示器和一台电视上(工作和看DVD同时进行),或者连接到一台显示器和一个数字平板上,或者连接到两个数字平板上。这一功能并不意味着用户可以得到双倍的性能,但对于图形设计等用途来况确实带来了方便。   1999年Matrox还有一项不小的成就,成功地发布了G400的Open GL驱动,现在的Open GL在《Quake3》游戏运行中,速度和画质都表现一流。但是值得注意的是在3D图形设计中这一版OpenGL驱动程序仍然不够理想。(^462001c^ Matrox G400 显示卡) #1S3 Savage4   S3曾经是中国市场最火爆的公司,不过由于公司内部和产品开发方面的原因,S3差一点从图形芯片市场上消失了。在去年的3D显卡大战中,S3重整旗鼓,推出了Savage3D。   1999年,S3又推出了Savage3D的换代产品Savage4,这是今年第一块支持AGP4×的图形芯片,它支持AGP 4×技术、真32位渲染、S3TC、单周期三线性过滤、多纹理贴图、硬件DVD加速、最大32MB显存和支持高级数字平面显示器。这其中大多数特性都是第四代显卡的普遍特征,而S3TC是Savage4系列的特征技术。S3TC是一种纹理压缩技术,我们知道为了得到更精细的图像,需要更大更复杂的纹理贴图,这将会消耗大量显存,而显存的成本是很高的,所以出现了AGP技术,AGP允许直接在系统内存中对材质纹理进行操作,但是系统内存也不是无限的资源,它还要用于操作系统和应用程序,S3TC大约可以提供6:1的压缩比率,更有效的使用材质缓存。由于S3TC更有效率地使用了材质缓存,它可以用于存储MIP-Maps纹理贴图,Savage4的另一个特点是同时实现单周期多纹理映射和单周期三线性过滤,从而提高图像质量和增加性能。   Savage4同样是采用同一核心的一系列显卡的总称,目前市面上常见的包括低端产品Savage4 LT、GT和高端的Savage4 Pro、Pro+。其主要的区别在于LT、GT仅仅支持AGP2×,LT的显存频率为110MHz,显存容量为8MB,GT为125MHz,显存容量为16MB。高端的Savage4 Pro、Pro+支持AGP4×,Savage4 Pro的显存频率为125MHz,显存容量为16MB,Pro+为143MHz,支持16/32MB显存。Savage4系列的频率是今年推出的3D加速卡中较低的,如果更够提高频率,性能还会获得提高。Savage4还是第四代显卡中少有的为3DNow!优化的产品之一。   S3TC早在Savage3D上就有采用,但当时几乎没有游戏支持这一技术,今年支持这一技术的游戏仍是寥寥无几,无形中Savage4就丧失了最大的优点,如果有一天,S3TC能够像Glide那样为多数游戏厂商支持,Savage4肯定会得到更好的评价。(^462001d^ S3 Savage 2000 显示芯片) #1ATI Rage128   ATI和Matrox一样,是世界上主要的3D显卡OEM生产厂商之一。今年第一季度推出的Rage128其实并不能算是真正的第四代3D加速卡,原计划中它应该在1998年上市,竞争对手是TNT和Banshee等,可惜由于种种原因,推迟到了1999年,直接面对了TNT2、Voodoo3等真正的第四代显卡。   Rage128显示芯片包括Rage 128 VR、Rage 128 GL等。Rage 128 VR主要用于主板集成和低端产品,Rage 128 GL芯片用于16M 显存的Xpert 128和32M显存的Rage 128 Fury。Rage128的特征技术包括超标量着色技术、单通道多材质技术、双缓冲体系架构、多命令并发引擎等,这些技术多数第四代3D显卡都己采用,并非什么独家之秘。由于开发的时间较长,Rage128在性能和功能方面并没有特别出色的地方,Rage128 Fury的核心频率仅为100MHz,显存频率也仅为110MHz,远低于TNT2等。   Rage128 Fury的特点在于它是今年PC机上功能最完备的3D加速卡,这一块显卡集成了视频输入/输出,DVD动态插值补偿等功能,因此Rage128是今年视频播放效果最好的3D加速卡。 #13Dlabs Permedia3   Permedia3也是一款迟到的3D卡,如果按正式发布的时间来看,它应该和TNT是同一代产品,可是直到现在年底,Permedia3才总算上市了。不过在这个时候,Permedia3的指标显得落后了一些,它的核心和显存频率分别为80MHz和110MHz,并且可超频性很差。   Permedia3的技术参数如下:内建300MHz RAMDAC,最大分辨率可达2048×1536,单周期多纹理贴图,7个独立的DMA引擎,像素填充率为220兆/秒(双线性凹凸纹理)或110兆/秒(三线性凹凸纹理),多边形生成速率为200万个/秒,多边形绘制速率为1100万个/秒,针对DirectX6.1和SSE、3DNow!指令集优化。我们可以看到这些性能指标并没有什么突出的地方。不过3Dlabs的加速卡并非针对普通用户,Permedia 3从本质上来说是一块入门级专业3D加速卡。从前一代Permedia2的表现来看,虽然它在3D游戏中的效果比较差,但通过驱动程序的优化,在3D设计方面却远非TNT等所能比。Permedia3也是如此,它在游戏中表现平平,性能在今年上市的3D显卡中只能排在队末,但这块显卡在3D设计中的表现不容忽视,是这一价位上专业图形用户最好的选择。   由于Permedia3推出的时间较晚,性能(主要是3D游戏)方面和TNT2存在一定差距,所以生产Permedia3的厂商并不多,产量也比较小。3Dlabs随后推出了VX1,采用GlintR3芯片,同样着重于3D图形设计,奇怪的是VX1和Permedia3的性能指标一模一样,估计这是出于市场而非技术方面的考虑。(^462001e^ 3dfx VSA-100显示芯片) #1整合3D图形显示   系统整合是1999年PC市场的一大风景,整合芯片组最成功的无疑是Intel i810系列,它整合了i752的显示核心,虽然性能上仍然无法和TNT相比,但差距并不悬殊,支持的3D特效也比较多,在实际使用中还可以接受。整合芯片组的实力将会越来越强,S3正和VIA合作研发最新的整合型芯片组,即使有一天,整合芯片能够应付所有3D游戏,我们也必须明白这样一个事实:单一的3D加速卡在性能方面总会走在整合芯片组的前面。如果仅仅从性能方面考虑,用户还是应该购买专用的3D加速卡。   1999年推出的3D显卡还有一些名气较小的产品,例如Number 9 Revolution IV、SiS300、NEC PVRSG等,它们也各有特色,但国内市场占有率很小,并不是主流产品。   以上第四代3D显卡的大致状况相信大家已经有所了解,它们在技术方面都没有取得重大突破,所幸在今年快要过去的时候,新一代3D加速卡已经准备上市了,nVIDIA Geforce256、S3 Savage 2000、Voodoo4、Voodoo5都已发布,性能方面较第四代显卡又有提高,其性能指标大致如^462001f^:   第五代3D加速卡还提出了不少新技术观点: #1T&L(几何转换与光照)   几何转换、光照操作是3D图形处理任务的前一半,有了3D加速芯片集成的几何转换、光照引擎,我们就能够使用硬件实现几何变换和动态光源照射处理,代替以往让CPU浮点单元进行的繁琐的几何计算过程和利用纹理色彩变化来模拟的光照效果。GeForce 256是最先支持几何转换与光照引擎的3D加速芯片,它的几何、光照引擎实际上是只有256个指令的DSP(数字信号处理器),就像创新的E-mu 10K1芯片一样,可以通过BIOS和驱动程序的升级,不断发挥出更强大的功能。   S3的Savage 2000同样具备自己的T&L引擎S3TL,但S3并不像nVIDIA那样强调几何转换、光照加速的历史意义和强大能力,对S3TL几何光照处理功能宣传得比较低调,一方面是因为几何、光照运算是抢CPU的浮点引擎的饭碗,另一方面要游戏开发者和用户都接受这一新生事物还有一个过程。S3TL使Savage 2000不但在现阶段很有竞争力,而且在将来也能占据一个“制高点“。尽管S3比较低调,但是Savage 2000的S3TL仍是一流水准:8个OpenGL兼容的硬件动态光源远超过我们早先的估计,是现有CPU处理能力的3倍,可以生成4~10倍复杂程度的场景等等。为了实现几何转换、光照加速功能,Savage 2000需使用DirectX 7和OpenGL作为API。 #1纹理压缩技术   在S3 Savage3D诞生的时候我们就接触到了这项技术,但是迄今为止为这项技术作了充分优化的3D游戏仍然只有Unreal一种。但是S3TC在画面上的优秀表现引起了其他厂商的注意,于是我们看到了3dfx的纹理压缩技术:FXT1。FXT1与S3TC非常相似,但是它可以提供更高的压缩比(高达8:1)。3dfx开放了FXT1的源代码,希望能够得到广大软硬件厂商的支持。 #1T-Buffer   T-buffer技术看起来好像是横空出世,其实早期发展的计算机图像技术都是T-buffer的理论基础。在80年代,人们用标准的射线跟踪来形成高质量的图像。那时的问题是视觉效果不真实,包括锯齿、锐化、阴影固定、玻璃无半透明效果等。为了解决这个问题,1984年开发了著名的分布式射线跟踪(Distributed Ray Tracing)技术。   1.全场景抗锯齿特效。只要仔细观察市面上的每个游戏,会发现在所有多边形边缘都有裂纹,这是由于图像信息量缩减造成的。现在一个非常普遍的解决方案就是:抗锯齿。当今的3D卡有两种类型的抗锯齿技术:边缘抗锯齿(Edge Antialiasing)和上行采样(Over-Sampling)。这两者都有弊端,边缘抗锯齿是由软件实现的,即软件为每个进入流水线的三角形边缘做标记,形成一个有轮廓的边缘。当场景渲染完毕后,驱动程序再找回信息标记清单并进行清理工作。这个过程要消耗大量的CPU资源,因为它要保存所有边缘信息的列表清单,然后才能做抗锯齿处理。至于Over-Sampling,它的缺点是会令填充率剧减,因为它需要大量的填充率来完成。   T-buffer支持全场景空间抗锯齿,这可以消除多边形边缘参差不齐的锯齿,并避免多边形可能发生的错位(通常发生在很小的多边形上)。T-buffer还支持像素等级的渲染(即小于像素宽度),可以创造更加复杂细微的颜色,使边缘更加圆滑,边缘的颜色也更柔和。而真正可贵的是这一切都由硬件完成,T-buffer的价值正在于此。   2.运动模糊特效。运动模糊在电影中场景、人物、视角的快速移动方面应用得非常普遍。简而言之,运动模糊就是允许画面以稳定的帧速运行,且图像看上去非常平滑自然。T-buffer也是对物体进行多次采样,每次都在稍微不同的位置选取,然后一次性全部渲染。   3.焦点模糊特效。T-buffer另一个值得自豪的效果就是焦点模糊。但不能肯定是在整个游戏中还是在特殊场景中使用焦点模糊效果。   4.柔和阴影和柔和反射特效。在现在的3D游戏中,阴影和反射效果随处可见。不过通常是人物或物体在地面上有一个固定的黑影,很不真实。T-Buffer技术自称可以改变这种情形。 #1VSA(可升级模块结构)   相对应于早先Voodoo2的SLI技术,使用这种技术可以联合多块相同芯片同时并行处理。这款先进的处理器是VSA-100,支持每个系统最多可使用32个芯片并行处理,使用可编程的scan-line interleaving(SLI)技术,在VSA-100的内核中是一个新的先进的3D引擎,它能使“超级”填充率变成现实。对于消费市场来说,基于VSA-100芯片的产品将使用16MB~128MB显存,1至4块芯片,可生成每秒 333M像素到1.47G像素的填充速度。在专业市场,Quantum3D将利用8到32块芯片,128MB至2GB显存来制造系统,将在Aalchemy系列产品中实现远超过每秒3G像素的填充率。VSA-100由超过1400万个晶体管组成,使用了增强的0.25微米工艺,6层金属半导体工艺。标准的工业样本模型支持的新3D特性包括32位色渲染,24位深度Z-Buffer和W-Buffer,DXTC和FXT1贴图压缩支持, 最大支持2048×2048尺寸贴图。额外提供的支持是同时可用于AGP 4×和PCI,DVD硬件补偿, Voodoo4、Voodoo5便是采用了VSA-100的3D加速卡。   使用VSA-100内核的单芯片的 Voodoo4家族产品将定位于主流价位。Voodoo4 4500将有PCI和AGP两种版本,并将板载一个单VSA-100芯片和32MB显存。这款产品将在每个时钟频率下渲染两个像素,每秒将产生333M到367M个像素;Voodoo5 5000 PCI将使用双VSA-100芯片和32MB显存。Voodoo5 5000 PCI显卡,每个时钟频率周期渲染4个像素,将提供667M到733M每秒的填充率;Voodoo5 5500 AGP将使用4个VSA-100芯片处理器和64MB显存。64MB显存将允许更高的分辨率和像素深度,当全屏抗锯齿打开和T-Buffer效果打开时,更多的显存将可以作为贴图存储器。这款卡将每个时钟周期渲染4个像素,像素填充率与Voodoo5 5000 PCI相同;VSA-100内核构造的旗帜产品是Voodoo5 6000 AGP,它将带有4个VSA-100处理芯片和128MB显存,将是第一款突破每秒10亿像素填充率的3D加速卡产品。它将在每个时钟周期内渲染8个像素,提供每秒1.33G到1.47 G的填充率。   以上介绍的新技术看起来令人怦然心动,相比起上半年的第四代3D加速卡有了比较大的飞越,我们期待这些技术能够尽快获得足够的支持,并在应用中取得出色的表现。