尾巴文章
数字生活美文

「发烧之旅」nVIDIA 从 1 到 10 的蜕变之路

gj91·数码·
  • 67
  • 18

对全世界的 N 粉来说,今年来最值得关注的,莫过于即将发布的 RTX3000 系列图形卡,nVIDIA 在预热文案里写道:“21 天回顾 21 年。在步入未来之前,加入我们共同庆祝 PC 游戏领域自 1999 年以来取得的最大突破,并携手展望未来。”其中的 21 年前是指 nVIDIA 的第一款 GPU——GeForce 256 的发布,这个显示核心不仅改变了曾经的CPU 和显卡的工作模式,也为 nVIDIA 敲开了专业制图市场的大门,说它是里程碑式的产品也不为过。


虽然在很多玩家的眼中,近年 nVIDIA 显卡在市场上总是处于优势地位(产品价格也节节攀升),但在 nVIDIA 成立到成熟的一段时间里,其成长之路并不是一帆风顺的,它也走进过死胡同、犯过严重的错误、赢得又丢失了市场、和业界大佬们分分合合,而这些都是成长必经的历练之路。


借着这次《发烧之旅》征文活动的机会,我将用我收集的一些 nVIDIA 显卡,来和大家回顾一下这只绿色眼睛的成长历程。


(最初是打算从 NV1 写到 G80 的,后来发现写下去的话没个四万字都压不住,也赶不及在活动结束前提交,于是改了标题变成从 NV1 到 NV10…)

NV1,估计很多网友都没见过,因为当年销量实在太差,还一个版本是芯片上印着nv1字样的

要说初出茅庐的 nVIDIA,无可避免的要谈一谈它的第一款产品 NV1,和做 OEM 市场起家的 ATi 不同,nVIDIA 对市场的第一次挑战,就是从游戏图形芯片入手的,在公司成立的 2 年后,nVIDIA 发布了一款高大全的显卡:它整合了2D和3D图形渲染输出,具备声卡的功能,还支持世嘉土星的手柄,世嘉甚至为它移植了几款土星机上的游戏,可以说是从娘胎里就带着游戏基因了;

NV1随机附带一块世嘉手柄接口子卡,可以在PC上使用世嘉手柄打游戏

NV1 是怎么做到支持游戏主机上的游戏的呢?听起来这么优秀的显卡是怎么在 3D 游戏市场失败的呢?这两个不太沾边的提问有一个相同的答案:因为它使用的是世嘉土星的 3D 渲染方式。


当时的 3D API 并没有统一的标准,不像现在有 Direct X、OpenGL、Vulcan 这些有压倒性占有率的图形接口,90 年代唯一占大头的 3dfx Glide 还没发布,除了专业市场上的 OpenGL(细分的话不同专业厂家也有自家专有的 GL 接口),如今的 Direct X 大佬还处于 1.0 版本,不具备 3D 渲染能力,自然不可能被显示芯片厂商所支持;3D 游戏图形接口更加称得上军阀混战,不同品牌的显示芯片支持的接口不同,渲染方式和工作原理不同都是家常便饭。

四边形贴图的线框大概是这个效果,和常见的三角形相比,看起来是不是有点违和?

NV1 所采用的是一种叫做“二次纹理贴图”的技术,这个技术最大的特点就是构建 3D 结构一个个面的不是我们常见的三角形而是四边形(所以在 NV1 的游戏里可以看到,画面出现的多边形马赛克都是菱形而不是三角形的),而世嘉土星机所使用的贴图技术也是四边形贴图,双方在理念上一拍即合,世嘉还为 NV1 移植了一些土星游戏到 PC 以丰富 NV1 的游戏生态;但这种四边形贴图技术无法兼容市面上以三角形贴图技术为主的任何游戏图形 API,同时也无法兼容后来逐渐壮大的 Direct X,可以说 NV1 起步的方向,就在往死胡同里走。


(忍不住要插句题外话,像四边形贴图这种在今天想想都觉得不可能犯的错误,在那个时代也能被当作一种可能性来实施,可见当时的 3D 图形市场多么荒芜,无论今天觉得多么理所当然的事,都是先辈们用一次次的失败才得以探明的死路。)


除了使用四边形贴图技术使世嘉对 nVIDIA 有所好感外,nVIDIA 在 NV1 所表现出来更受世嘉青睐的特点则是其集成一切的魄力:集成了 3D 图形加速、声卡、游戏控制器那么多功能的芯片组,正是对成本控制严格的游戏主机所需要的;出于这个原因,世嘉向 nVIDIA 投资了 700 万美金,委托其为下一代游戏主机 Dreamcast 开发图形芯片组。

四边形贴图的显示芯片渲染SEGA游戏的效果,可以看到赛道上的色块都是四边形的

这笔钱让在 NV1 上受挫的 nVIDIA 起死回生,马上抓紧时间投入代号为 NV2 的 Dreamcast 图形芯片的开发工作,但干着干着世嘉发现不对劲了:市场的风向已经转变到三角形贴图技术上了,为什么 nVIDIA 抱着四边形贴图技术不松手呢?这么做出来的图形芯片真的能满足市场的需求,符合开发人员的期待吗?在和 nVIDIA 商量了多次希望更换三角形贴图技术都得不到回应后,世嘉决定长痛不如短痛,砍掉了 NV2 的开发计划(NV2 芯片也就只存在于为数不多的 Dreamcast 工程样机中),nVIDIA 变成了不会数 2 的公司…

大家可能在某些媒体上看到这张图说是NV2安装在Dreamcast工程机里的照片,实际上它只是普通的Dreamcast主板,被误传了好多年…

虽然 NV2 永远都没法跟消费者见面了,但世嘉投入未撤回的 700 万美金却把 nVIDIA 从财务困难中解救了出来,经历了 NV1 失败和 NV2 危机之后,nVIDIA 开始反思图形API的重要性;如果不搭配一个好的图形 API 来开发硬件,不仅会像 NV1 一样缺乏对未来技术的兼容性,更会像 NV2 一样设计思路严重受到甲方的需求限制,无法独立的做出好的产品。


此时的 Direct X 进化到了 3.0 版本,已经具备了 3D 渲染功能,Windows 95 成为了炙手可热的王牌操作系统:显而易见的,此时的产品能跟微软这个领头羊搞好兼容性,就能做到真正的“战未来”,于是 nVIDIA 决定上微软的大船,根据 Direct X 接口的规范来设计显示芯片:这个重要决定使 nVIDIA 迎来了长达 5 年、覆盖 3 代产品的繁荣期。

华硕的RIVA 128,通过外挂芯片实现了视频输入、输出功能,和nVIDIA后来的VIVO(Video input/ideo Output)功能相似

发布于 1997 年的 RIVA 128(也就是NV3)对划时代的 Direct X 5.0 提供了堪称完美的支持,Direct X 5.0 也以足够的诚意回应图形芯片厂商和玩家:支持雾化效果、Alpha 混合、纹理压缩技术,也大幅改善了声音、游戏控制器的功能,是第一个称得上成熟可用的 Direct X 版本,可以说 RIVA 128 和 Direct X 5.0 互相陪伴着打了一场漂亮的翻身仗。


RIVA 128 的技术指标算不上亮眼,画面效果依旧打不过炙手可热的老牌 3D 图形加速卡 3dfx Voodoo(帧率倒是比过去了,以至于 N 卡很长一段时间里背负着“傻快”的戏谑),但 nVIDIA 从 NV1 身上还吸取到的一个教训就是:要做感动人心物美价廉的好产品(嗯?拿错剧本了?)!达到了主流性能还要高性价比,才能得到市场的青睐, RIVA 128 也做到了低廉的价格、单卡单芯片整合了 2D 和 3D 图形渲染输出、对主流图形接口的良好支持,于是 RIVA 128 一时也在 OEM 市场也混得风生水起,为 nVIDIA 赚到了第一桶金。


比第一桶金更宝贵的,是 RIVA 128 遇到的早期驱动对 OpenGL 兼容性不太好的问题,这让 nVIDIA 意识到了显卡除了性能要好、架构对图形接口兼容以外,驱动对图形系统也有很大影响,此后 nVIDIA 在驱动开发工作上也投入了相当的重视,提前避开了很多ATi一直在踩的坑。


(RIVA 其实是 Realtime Interactive Video andAnimation 的缩写,也就是即时演算动画的意思。)

创新的RIVA TNT,做工不奢华得来又看起来很令人安心

真正被装进许多国人玩家机箱里的 N 卡,应该是被称为炸药的 RIVA TNT(代号为NV4),实际上它是 TwiN Texel 的缩写,也就是双纹理渲染管线的意思;简单地说,它是 RIVA 128 的“双核改进版”,发布前预想的纸面性能甚至比当时的顶级 3D 加速卡 3dfx Voodoo2 更强(当然专有 Glide 接口的画面特效才是3dfx的独门秘籍,就像 CUDA 对 nVIDIA 的意义,竞争对手们只能比比帧率,核心用户是很难撬走的)。


可惜 TNT 芯片的工作温度太高,产品发售时被降频28%,即便是在“傻快”方面也没能撼动 Voodoo2 的地位,但这个(相对)便宜的后来者的性能竟然敢和龙头老大竞争,已经足够让人震惊了(想想前两年国产 GPU 号称浮点性能要打平 GTX1080,是不是完全不敢相信?大概就是这种心情)。

“雷管”驱动界面,也是现在nVIDIA控制面板的前身

伴随着 TNT 一起闪亮登场的,还有 nVIDIA 著名的“雷管”显卡驱动,其游戏兼容性和稳定性都比竞争对手们的驱动更好,在雷管驱动的加持下,游戏性能甚至比最初的原厂驱动有25%的鸡血提升,从此雷管也因为在 TNT 上的优异表现成为了 nVIDIA 旗下的金漆招牌。

这是一块Canopus的TNT2,这个品牌的做工和2D输出一直为玩家们所称道;十多年前流行的Edius非编系统也是他家的产品,可能追求输出画质也是其品牌的基因吧…

前面提到TNT因为温度过高而被降频导致性能不及研发时的预期,在TNT取得成功市场反响的几个月后,nVIDIA 推出了基于 250nm 制程的“满血版”TNT2(TNT 为 350nm 制程),实现了蓝图上的 TNT 性能,同时又对其进行了一定补强,带宽翻倍的 AGP 4X 接口、比 TNT 翻倍的 32MB 显存、32 位色深输出,都使它越发的不把 Voodoo 加速卡放在眼里。

在nVIDIA和ATi还没打入主流3D游戏图形市场的年代,梦想拥有一块Voodoo 3D加速卡应该是很多玩家的青春,嗯…对一个硬件朝思暮想的心情就足够怀念了,毕竟能真正拥有的还是少部分人…

Voodoo 为什么会被 TNT 系列步步紧逼,这个要从 Voodoo 的产品理念说起,一方面 3dfx 在研发、商业和内控上都有重大失误(这就是另一个故事了,也许以后会写一篇文章专门讲讲 3dfx 的陨落),但另一方面 3dfx 坚信用户应该在意以特效为首的游戏体验而不是纸面上的参数:


  • “帧率够用就好,没必要追求特别高的帧率,特效好看才重要!”
  • “别管什么 AGP 2X/4X 的,你打游戏感觉得出总线带宽的变化吗?”
  • “16 位色深的 Glide 特效比 32 位的 Direct 3D 更好看就足够了。”
  • “TNT支持那么高分辨率材质贴图,但市场上有这么高分辨率贴图的游戏吗?”


以上说法都是我编的,但确实体现了 3dfx 做产品的态度,使用体验好就行了,技术细节不是必要去追求的,但 3dfx 忘记了一点:在 PC DIY 有一定技术门槛的年代,他们的用户正是特别在意技术细节、对参数了如指掌且追求性能最大化的一群 PC 玩家;这就像 Intel 跟 Ryzen R9 用户说核心太多对打游戏也没好处,虽然也有道理,但 R9 用户显然不会轻易被说动…

扭捏着发布了AGP版本的Voodoo3,但本质还是PCI;上周我用这块卡在老平台上玩了几个Glide游戏,和GeForce 256对比了一下,已然感受不到它在画面上的优势了…

出于用户心理的角度考虑,大部分用户会认为“我可以用不到,但你得给我备着”,这个道理现在的千元机厂家都明白,但当时 3dfx 的操作可谓“专治各种不服”:


1、在 Intel 大力推广 AGP 总线的时候坚守 PCI 总线,被逼急了假模假样地出个 AGP 版,但不支持一丁点 AGP 的新特性。


2、在 TNT 和 TNT2 分别支持 1024*1024 和 2048*2048 高分辨率贴图的时候,Voodoo 坚守着 256*256 的低分辨率贴图,这在游戏中是一眼就能区分开的差距

3、对手们都有 24 位、32 位输出,甚至自家的 Voodoo3 图形芯片内部都以 32 位色深进行运算了,输出的依旧是 16 位色深,这个差异在游戏中随处可见。

直到2000年发布的Voodoo5 5500才带来32位色深输出,此时Direct X 8.0都即将发布了,在这个API上诞生了许多大作,3dfx引以为傲的Glide已经垂垂老矣

这是真正的和用户需求对着干、专门给用户找不自在、真正的头铁…即便是用画面说话,3dfx 所坚信的“游戏体验论”在新技术面前,也说不上有特别好的效果,虽说还有独享的特效,但运用了新技术的显卡同样有 3dfx 不具备的效果:特别精细的高分辨率贴图、32 位色深加持下更加逼真的烟雾效果,看起来各有千秋,就像现在的 Android 和 iOS,已经很难说哪一方能秒了对方了。我不否认 3dfx 在 PC 游戏领域起到的巨大推动作用,但在 1998 年的这个时间点上,Voodoo 加速卡显然没有太强的产品力…

Canopus的GeForce 256,不要被供电接口迷惑了,GeForce 256远没有达到需要外接供电的功耗水平;只是Canopus认为从主板获得的电流干扰较大,会影响2D输出画质,于是都从电源获取电力,自行“净化”后使用,玄学大厂…

自此,nVIDIA 在游戏图形市场的根基算是扎稳了,接下来就是 nVIDIA 事业上的第一个高光时刻,首个 GPU:GeForce 256 的发布,它具有硬件 T&L 加速功能,这个工作以前是由 CPU 完成的;


做个不太恰当的比喻就是,以前的显卡工作模式相当于领导(CPU)给下属(显示芯片)安排工作,但具体怎么做还要领导一步步指导,领导和下属的工作范围界限非常模糊,一旦下属工作能力不行,还耽误领导的其他决策时间;GeForce 256 作为图形协处理器则可以实现领导(CPU)安排工作,下属(GPU)自己把所有事都办好,直接输出成果,这样分工明确、极大地提升了效率。


除了改善了 CPU 和 GPU 的分工模式,GeForce 256 成功的背后还有一个隐形的巨人:将硬件 T&L 加速引入 PC 游戏规范的 Direct X 7.0;前面提到 nVIDIA 在 NV3 开始于微软展开了良好的合作关系,全力支持 Direct X 接口,微软应该也对 nVIDIA 的信任投桃报李,提供了足够的技术支持和信息披露,使得 GeForce 256 的表现足够亮眼,以至于即便它不是当时唯一支持硬件T&L加速的图形芯片,却几乎是唯一被铭记的产品。

在GeForce 256没发布的日子里,专业制图卡上的T&L加速功能一般由独立的协处理器提供,缺点就是成本非常高,一块专业卡上有三四个大芯片的场景非常常见,毕竟是专业市场的产品,羊毛出在羊身上…

T&L 是两个独立的工作,T 即 Transforming(坐标转换),游戏中场景中的物件发生运动,其坐标会一直产生变化,一直跟踪坐标的变化就是坐标转换;物件又是以三角形为单位构建起来的,所以坐标转换的性能指标就是每秒能转换多少个三角形;它是运算密集型的操作,工作时的效果不太直观,毕竟 GPU 把这项工作接管过去已经太久太久了;


Lighting 则是光照效果,这个就好理解很多了,就是画面中的光照到物体上的效果,要跟踪光源的位置变化和被照射物体的反射、阴影等参数,同样非常消耗 CPU 资源,例如火箭弹发射的画面,尾焰一路照亮沿途的物体产生的反射和阴影,就是非常典型的坐标转换和光照应用。


由于这两个功能都会极大的消耗 CPU 性能,每时每刻都在进行重复的坐标转换和光影运算工作,当 GeForce 256 把这两项功能从 CPU 手里接管后,CPU 才得以从繁琐重复的体力劳动里解放了出来,去做它应该做的事(例如游戏的 AI 运算),GPU 这个称号虽然是 nVIDIA 自封的,但也可以说是当之无愧的。

来自华硕的GeForce 256,使用的是工作站主板才有的AGP Pro接口(GeForce 256没有任何使用AGP Pro接口的理由,除非是增强供电稳定性),也可以直接插在普通主板上,堪称成迷的设计,这个卡也相对少见

除了硬件 T&L 加速以外,GeForce 256 的渲染性能也足够亮眼,其像素填充率已经超过了 Voodoo4 全系列的任何型号(而且 Voodoo4 在一年多后才发布),加上 Direct X 羽翼渐丰,GeForce 256 已经可以称得上是 Voodoo 终结者了。


再插个题外话,既然整个 RIVA 系列都是顺着 Direct X 风潮起飞的产品,那么有没有和微软对着干的公司呢?当然有…有一家叫 Number Nine 的显卡厂商,他们既生产搭载其他品牌显示芯片的显卡,又自行研发自有的显示芯片,有意思的是这个厂家酷爱披头士(Beatles)文化,在许多产品 PCB 上、BIOS 里、甚至自研芯片的电路底片上,都留下了披头士歌名、专辑名、歌词等信息;

Number Nine Imagine 128显卡的BIOS界面,右上角的“Imagine there's no ...”句式来John Lennon《Imagine》的歌词

RIVA 128 发布同年,Number Nine 也发布了搭载自研图形芯片的 Revolution 3D,其性能在许多欧美的 PC 媒体中得到盛赞,但选择 Revolution 3D 的游戏玩家却寥寥无几,原因就是其不支持 Direct X 6.0 的纹理映射特性;显卡刚发布时,他们的 CTO 头铁的表示:“我们是一家芯片设计公司,为什么要向微软这种软件公司低头?”,然后迅速被玩家和市场打脸…

(当年)价值2299美金的3Dlabs Oxygen GMX,最小的风扇下面压着的就是负责T&L加速的Gamma芯片(不是亮度Gamma的那个Gamma,它的名字就叫Gamma)

回到正题,T&L 加速在专业图形市场上不算是特别新鲜的技术,3Dlabs 在 GeForce 256 发布前一年所推出的 Oxygen GMX 专业制图卡就搭载了独立的T&L加速芯片,但这块支持硬件 T&L 加速的专业卡在当时售价是 2299 美金,T&L的性能为处理 315 万个三角形/秒,而一年后发布的 GeForce 256 的 T&L 性能是处理 1500 万个三角形/秒…

“廉价版”3Dlabs Oxygen GVX1,依旧是熟悉的Gamma芯片,只是3D性能部分被削弱了,成为价格相对低廉的产品

直到 GeForce 256 发布前半年,3Dlabs再次推出了支持T&L硬件加速的、面向入门级图形工作站市场的 Oxygen GVX1 显卡专业制图卡,其T&L性能也不过 475 万个三角形/秒,售价依然高达 999 美金(曾被称为“最贵N卡”的 GeForce 8800 Ultra 发布时也就这个价,当然已经被 RTX 2080Ti 追平了,还有望被 RTX 3090 超过…);


这让一个有想法的厂家嗅到了商机:既然这个 GPU 性能强大又便宜(相对专业制图卡来说),游戏卡和专业卡的差距就是一个稳定可靠的 OpenGL 驱动,我为它开发一个高性能 OpenGL 驱动不就发财啦?

ELSA开发的GeForce 256专业版,当时还不叫Quadro这个名字,而是其专门的专业卡系列Gloria,这块是面向零售市场的产品

这个思维很灵活的厂家就是 ELSA,把专业卡的主意打到游戏卡身上对 ELSA 来说也不是第一次了,早在 TNT、TNT2时代,ELSA 就针对它们开发了高性能 OpenGL 和 Heidi( Autodesk 曾经的制图专用API)驱动,修正了官方驱动中的过百个 Bug 以保证 TNT 在专业制图工作中也能稳定发挥其性能。

初代Quadro卡,接口也是工作站级别主板才搭载的AGP Pro;为什么专业版反而没风扇?因为工作站机箱里都有专门的散热风道进行辅助散热,包括后来的Quadro也是用兼容性较好的单槽风扇,要是把它当被动散热就很容易让GPU热死…

到了 GeForce 256 发布,ELSA 再次出手为其开发了专业驱动,鸡血驱动使 GeForce 256 在不同的专业应用中有了9-20% 的性能提升;这样的摩改的专业版 GeForce 256 在当时只卖 650 美金(原版售价为 300 美金),性能却比999美金的 Oxygen GVX1 更强,这也激发了 nVIDIA 进军专业制图市场的信心,于是收编了 ELSA 的驱动开发团队,自行研发专业卡,现在的 Quadro 系列专业制图卡便脱胎于此。


至此,从 NV1 到 NV10 蜕变的故事就讲完了,nVIDIA 的事业也随着第一代 GPU 的发布、专业制图卡产品线的建立而正式驶入正轨,迎来了广大 PC 爱好者、游戏玩家们所相对熟知的 20 年,后来的 20 年里自然还有着更多的挑战、挫败和分分合合,今后还会跟大家分享更多 PC 历史上有趣的、怪异的、里程碑式的事件和产品;


这是我的发烧之旅,也是作为一个 PC 爱好者的朝圣之旅的一小段旅程,希望大家喜欢。


你在热爱数码的路上走了多久?是否也曾迷恋某类产品无法自拔?

数字尾巴话题征文「数码发烧友」,邀您一起分享发烧之旅!