電腦達人養成計畫 5-9:3D 圖形的三國爭霸時代

距離上次更新連載似乎已經過了好一陣子,隨著新學期選課結束等期初必經過程告一段落之後,接下來站長應該會比較有時間更新這系列的連載文章吧?

上一篇我們看的是 1990 年代末期的一系列 3D 圖形晶片,在這個時代裡個人電腦終於開始具備夠格的 3D 圖形運算能力 (在這之前個人用 3D 圖形晶片根本只是小幅改版的 2D 圖形晶片罷了),而隨著時間即將進入 21 世紀初期,個人電腦 3D 圖形運算能力將開始進入穩定但幅度卻相當巨大的成長期。

3D 圖形的三國爭霸時代

相較於低階產品有些廠商來來去去的狀況來說 (由於這些廠商太多,但沒有太多大家記得住的產品,因此我就不特別提了,但在下一篇當中我們將見證其中幾家曾經輝煌過但即將走入歷史的廠商們),差不多從 20 世紀的最後兩年 (1998 年之後) 開始,中高階個人電腦用 3D 圖形界就進入三強爭霸的時期了,NVIDIA、3dfx、ATI 這三間廠商將會主宰接下來的個人電腦用 3D 圖形晶片的發展,而且如同前面所提到的 S3 Graphics 與 Trident 等廠商即將退出 (或者說是被三大廠送出) 歷史舞台一般,大概從下一篇開始我們就只會見到這三家廠商了 (不論高階或低階市場都是如此)。

3dfx Interactive

3DFX

首先我們要看的是 3dfx,還記得上次我們談過讓 3dfx 賺入大把鈔票的 Voodoo Graphics 和首次嘗試整合 2D 與 3D 圖形但最終卻成為 3dfx 最大黑歷史的 Voodoo Rush 嗎?在經歷 Voodoo Rush 的失敗之後,隔年 3dfx 推出了第二代的 Voodoo2 3D 加速卡,試圖延續 Voodoo Graphics 的成功。

Voodoo2

發佈時間:1998 年
API 支援等級:DirectX 5.0、Glide

Voodoo2 是以 Voodoo Graphics 為基礎改良而來,雖然如此但在架構與功能上卻有了飛躍性的成長,如同其名稱中的「2 次方」一般,Voodoo 2 晶片上的像素對應單元由 Voodoo Graphics 的一組提高為兩組,除此之外得益於製程提升,Voodoo 2 在運作時脈上也提高了將近一倍 (從 50 MHz 提高到 90 MHz),除此之外,最高可以支援的記憶體容量也提升了 50% 來到了 12 MB (頻寬亦提高到 192 bit,不過要知道的是 Voodoo 與 Voodoo2 的架構設計是將記憶體拆分成數個部分,分別是 Frame Buffer 與材質對應單元,彼此之間不能交叉存取,因此實質上與今日我們所稱的記憶體頻道寬度意義上並不相同,而且 Voodoo2 使用的仍然是古老的 EDO RAM,在支援的色彩方面也僅到 24 位元)。

由於相較於 Voodoo Graphics 來說性能上有了明顯的提升,並且勝過了當時同期的所有競爭對手,加上 Voodoo2 對 Direct3D 的支援度也比 Voodoo Graphics 來的好,因此 Voodoo2 成為了 3dfx 歷史上最成功的一款產品。

但由於 Voodoo Rush 的失敗,因此 3dfx 在 Voodoo2 當中是沒有整合完整 2D 圖形功能的 (雖然 Voodoo2 晶片本身可以支援一點 2D 圖形特性,但並不完整無法獨立運作),在使用時與 Voodoo Graphics 一樣需要搭配另一張 2D 圖形卡使用。

最後要提的是 Voodoo2 最特別的功能-SLI,是的沒錯,就是 SLI。不過這裡的 SLI 雖然也是多顯示卡併用的技術,但卻與今天 NVIDIA 顯示卡使用的 SLI 技術大不相同,此處的 SLI 全銜為 Scan-Line Interleave (NVIDIA 的 SLI 則是 Scalable Link Interface,名稱和原理都不一樣),意思是掃描線交錯技術。

如同先前在介紹 VGA 介面時我們提過的,傳統映像管螢幕上的畫面其實是由上百、上千條掃描線所組成 (也就是上千個像素橫排),這項技術的原理很簡單,就是單數條掃描線給第一張 Voodoo2 計算,雙數條掃描線則由第二張 Voodoo2 負責。

雖然這種 SLI 在想法上很簡單,但實際上要做到可是很不容易的,要知道兩張圖形加速卡之間的同步會是很大的問題 (萬一兩張卡不同步那出來的畫面可是不能看的,想像一下單數跟雙數掃描線拼不起來的畫面吧?),實際上 3dfx 的 SLI 也沒能完美解決這個問題,在特別吃重 TMU 的遊戲當中使用 SLI 技術有時候還是會有輕微的破圖發生。

不過 SLI 在提高顯示性能上的幫助確實是很明顯,由於相對於今日的 NVIDIA SLI 來說,3dfx 的「原始」SLI 在設計上來得簡單許多,因此對性能提升的比例也相當高 (畢竟沒有太多轉換與重新分配資源的問題),幾乎可以一口氣抬高 75% ~ 85% 的性能,甚至可以讓 Voodoo 2 SLI 輕鬆輾壓下一代的 Voodoo3。

Voodoo Banshee

發佈時間:1998 年
API 支援等級:DirectX 6.0、GLIDE

雖然在 Voodoo Rush 時 3dfx 在 2D 與 3D 圖形整合產品上踢到了鐵板,但 3dfx 並沒有放棄發展 2D、3D 二合一產品 (畢竟這毫無疑問會是未來的趨勢),於是在 1998 年底 (Voodoo 2 推出幾個月之後),3dfx 端出了他們第二款整合 2D 圖形能力的「顯示卡」-Voodoo Banshee。

Banshee 的 3D 圖形部分則是取自自家的成功產品 Voodoo2 (但兩組材質對應單元被刪減為一組),然而比較讓人在意的是 2D 圖形的部分,不同於 Voodoo Rush,Banshee 的 2D 圖形是由 3dfx 自己發展而來,而不再採用整合外部廠商提供圖形單元的模式,這很大程度上解決了 Voodoo Rush 最大的問題-2D 與 3D 圖形單元彼此的相容性缺陷。

除此之外 Banshee 還有一項很重要的特性,那就是高度整合。Banshee 是一款單晶片方案,電路板的面積與元件與 Voodoo Rush 相比來說簡直是天壤之別,對於成本的更進一步壓低顯然有著不少幫助。

不過由於會選購 Voodoo 系列產品的人通常是著眼於遊戲的性能需求,因此 Banshee 本身的銷售表現並不突出 (當時大多數 OEM 廠商比較偏好 NVIDIA 的 RIVA TNT),但儘管如此,Banshee 的銷售數字也不算太難看,某種程度上這給 Voodoo3 奠下了基礎 (Voodoo3 開始就全部都是 2D、3D 整合方案了)。

ATI Technologies, Inc.

接下來看到 ATI 的部分,還記得上次我們最後談到的是 3D Rage Pro 嗎?ATI 是一間非常善於利用與改進原有架構的公司 (不過在這個三強爭霸的時期裡 ATI 在絕大多數時間都是敬陪末座的),從 Rage 系列起頭以來依直走到 3D Rage Pro 其實骨子裡流著的都是 Mach64 的血統,但這樣的情況終於要在 1998 年得到改變了。

1998 年 ATI 將公司的 3D 圖形晶片分成兩條產品線經營,其中主打中低階與筆記型電腦行動需求的產品繼續延續 3D Rage Pro 的血脈,分別有用於桌上型電腦的 Rage XL (以 3D Rage Pro 為基礎將時脈從 75 MHz 拉高到 125 MHz,記憶體時脈則從 83 MHz 拉高到 120 MHz,但記憶體只能搭配 8 MB 而沒有 16 MB 款) 與主要用於筆記型電腦的 Rage LT (相較於 3D Rage Pro,增加了對 LVDS 支援的整合以相容筆記型電腦液晶螢幕並加入一些電源管理技術)。

而另一條產品線則是全新發展的 Rage 128,以成為世界上最先進的個人電腦圖形晶片與打敗 NVIDIA 旗艦產品為目標而生。

Rage 128

發佈時間:1998 年
API 支援等級:DirectX 6.0、OpenGL 1.2

Rage 128 作為 ATI 第一款真正經歷大幅修改的 3D 圖形晶片,有著很多與前作不太一樣的特色,其中最為鮮明的改進有二:Rage 128 是 ATI 第一款具備多重像素管線的產品-Rage 128 具備兩條像素管線 (實際上一顆 Rage 128 晶片中包含了兩組材質對應單元 TMUs 與兩組渲染輸出單元 ROPs)。

至於第二項主要特色則是 Rage 128 系列的全體成員都是在 128 位元架構下設計出來的 (儘管低階版本的 Rage 128 VR 的記憶體頻寬僅有 64 位元,只有 Rage 128 GL 等中高階版本才有完整的 128 位元記憶體通道支援),內部資料寬度提高到 Mach64 系列的兩倍,最高可搭載的記憶體容量也加大來到了 32 MB。

靠著這兩點架構上的大變動,Rage 128 可以說是 ATI 進入 3D 圖形領域以來第一次對自家產品進行根本性的改版與提升,特別是在 32 位元色彩模式下,Rage 128 有著以當時標準來說相當亮眼的表現 (不過在頻寬需求較低的 16 位元色彩模式下 Rage 128 的表現挺悲劇的)。

除了在演算核心架構上的提升之外,Rage 128 的快取記憶體架構也很特別,Rage 128 使用了一種稱為「Twin Cache Architecture」的設計,分別整合了兩組 8 KB 的快取記憶體,其中一組供 3D 繪圖引擎存放材質使用,另一組則是用作將畫面寫入 Frame Buffer 時的緩衝區。

整體來說 Rage 128 在性能上是一款表現還 OK 的產品 (畢竟 Voodoo 2 系列壓根沒打算支援 32 位元色彩模式、NVIDIA 的 RIVA TNT 在 32 位元色彩模式下表現也不理想),但銷售表現則平平 (主要受到當年延遲發售的影響)。

最後要談的則是 Rage 128 後續曾經推出過的幾款衍生型,首先是 Rage 128 Pro,以 Rage 128 為基礎將三角形生成引擎改良 (提高多邊形生成率與材質填充率) 並加入對 DXTC 材質壓縮、AGP 4x 技術與 DVI 介面的支援,是 ATI 用來與 Voodoo 3 2000、RIVA TNT2 對戰的型號 (以 Rage Fury Pro 與 Xpert 2000 Pro 之名發售)。

而 Rage 128 家族中最特別的衍生型應該就是 Rage Fury MAXX 了,相信從上圖的實卡照片你應該也能猜出這張卡到底是發生了什麼事-ATI 將兩顆 Rage 128 Pro 放到同一張顯示卡上了,這目前是我所知道最早的單卡雙晶片顯示卡,每個顯示晶片享有獨立的 32 MB 記憶體 (也就是總共這張卡上的記憶體就高達 64 MB),不論以當時還是現在的標準來說,這張卡的豪邁設計都十分充分的體現了「大艦巨砲主義」。

這張卡的多晶片偕同運算實作方法與 3dfx Voodoo2 的 SLI 設計不同,SLI 的切割單位是以「掃描線」為核心,而 Fury MAXX 使用的技術則是 AFR (Alternate Frame Rendering),也就是單數張畫面由一號核心處理,等一號核心處理完之後再由二號核心處理雙數張畫面,這樣的做法相較於 SLI 的設計來說是比較簡單 (畢竟不會有不同步就整張圖破到看不出東西的問題),但是相對來說性能差很多,在性能提升上非常有限,更多時候只是徒增耗電 (畢竟大多數時間都花在核心之間互等上) 與相容性問題 (基本上只有 Windows 98 與 Me 可以支援,NT 系的 Windows 系統全滅) 罷了。

而且在 GeForce 256 等同期競爭對手已經開始採用硬體 T&L 架構的情況下,基於上一代架構的 Rage Fury MAXX 可說是一點搞頭也沒有,因此最後這張卡成為了 ATI 公司的黑歷史之一。

NVIDIA Corporation

接下來最後要談的是三國爭霸時期裡的最後一個要角-NVIDIA,我記得在 5-8 當中我們只談了 NVIDIA 創辦後的頭兩個作品與從破產鬼門關前走一遭卻遇上貴人而回神的早期歷史,而在本節當中我要介紹的 NVIDIA 產品將有三款,全部屬於 RIVA 系列,分別是元老 RIVA 128 與先後兩代 RIVA TNT,這三款產品為後來 NVIDIA 的成長、茁壯與成就奠下了穩固的基礎。

RIVA 128

發佈時間:1997 年
API 支援等級:DirectX 5.0、OpenGL 1.0

RIVA 128 的開發代號是 NV3,顧名思義是 NVIDIA 創辦以來的第三款產品,其中 RIVA 是 Real-time Interactive Video and Animation (即時互動影片與動畫) 的意思。

有了到鬼門關前走一遭的經驗之後 NVIDIA 在開發 NV3 的過程中顯然記取了教訓-像是不要太特立獨行不跟風選則使用多邊形繪圖之類的,因此 NV3 基本上走的是盡可能相容公定業界標準 API 的道路 (而不再像 3dfx 自己造 GLIDE 那樣自己發展自家專用 API),納入了對 Direct3D 5.0 與 OpenGL 1.0 的支援,並且採用主流的三角多邊形繪圖管線設計。

發佈於 1997 年的 RIVA 128,顧名思義是一款基於 128 位元架構設計出來的產物,因此性能比起上一代的產品來說有了明顯的提升 (足以跟同期的 Rage Pro 與 Voodoo Graphics 互相披靡),再加上價格上相對低廉 (比起 3dfx 來說),因此在 OEM 市場如同 ATI 一般受到了 OEM 廠商們的熱愛,並且加上透過對 DirectX 提供完整支援,擁有微軟這一強大後盾的 NVIDIA 在個人電腦 3D 圖形市場上可說是無往不利,隨著 DirectX 的聲勢逐漸擴張 (約莫是這個時期,GLIDE 與 DirectX 的市場影響力即將死亡交叉),遊戲廠商們也開始漸漸從 3dfx 自家發展的 GLIDE 轉移到微軟的 DirectX 上 (也有不少遊戲廠商是直接推出 GLIDE 與 DirectX 雙版本)。

至於在記憶體支援方面 RIVA 128 最高可以搭配 4 MB 的 SDRAM 或 SGRAM,而在享受了 RIVA 128 為 NVIDIA 帶來的 (真正靠自己賺到的) 第一桶金與第一次成功經驗之後 NVIDIA 在隔年又以 RIVA 128 為基礎推出了小幅改良的版本-RIVA 128 ZX,主要的差異為加入對速度更快的 AGP 4x 界面支援與將記憶體的支援容量翻倍來到 8 MB、整合 RAMDAC 的時脈也獲得大幅度的提升 (因此可以支援更高的解析度與更新頻率)。

總體來說 RIVA 128 在當時受到最大的挑戰仍然是來自於 3dfx,當時有太多的遊戲使用了 3dfx 自家發展且專屬於 Voodoo 系列晶片的 GLIDE API,而 NVIDIA 最早開始對自家驅動程式投入大量心力大致上也可以追溯到這個時期,當時主要目標是為了解決 RIVA 128 初期的驅動程式對於 OpenGL API 的支援度仍然差強人意的問題 (儘管這個問題最後並沒有被解決,但卻成功讓 NVIDIA 開始重視驅動程式這個領域)。

RIVA TNT

發佈時間:1998 年
API 支援等級:DirectX 6.0、OpenGL 1.1

接下來時序來到 1998 年下半,NVIDIA 端出了旗下第四款產品-開發代號為 NV4 的 RIVA TNT,這款產品與 NV3 整個砍掉重練不同,基本上是從 RIVA 128 修改而來。RIVA TNT 與前作最大的不同是像素管線從一條增加為兩條 (同時這也是名稱中 TNT 的由來,TNT 是 TwiN Texel 的意思,但同時也雙關意指這款產品具備有如炸藥般的性能),因此在處理性能上有了大幅度的提升。

RIVA TNT 的主要競爭目標為 3dfx 的 Voodoo2,與 Voodoo2 不同,RIVA TNT 增加了對 32 位元色彩深度模式的支援 (與之同時 Voodoo 系列依然無動於衷) 與 24-bit Z-Buffer、更高解析度的材質處理能力等特色,因此在畫質上比起 RIVA 128 來說有了明顯的提升,不過在性能方面由於受到製程限制的影響,RIVA TNT 最終未能達到預期設定的時脈且工作溫度相當高,90 MHz 的時脈使得 RIVA TNT 在對上同期競爭對手時並沒有壓倒性的優勢 (大抵上是持平)。

而前面提過 RIVA 128 時 GLIDE API 主宰市場的困境則依然持續著,當時有太多的遊戲軟體基於 GLIDE API 開發因此使得使用 RIVA 128 顯示卡的人們雖然擁有性能不至於落後太多的設備卻沒能在實際遊戲過程中發揮,但這個情況會在下一代的 RIVA TNT2 中有所改變,不過在板卡廠與 OEM 廠商的支持之下,RIVA TNT 獲得了相當不錯的銷售成績,也醞釀了接下來遊戲廠商們的轉向與 NVIDIA 日後的扶搖直上。

最後關於 RIVA TNT 我要提的是驅動程式,前面提過 NVIDIA 對驅動程式做了許多努力,在 RIVA TNT 上市一段時間之後針對 RIVA TNT 推出的 Detonator (雷管) 驅動程式大概就是最好的例子,相較於其他廠商與 NVIDIA 自家過去的驅動程式來說,Detonator 的相容性與穩定性都有相當不錯的表現 (特別是解決了 NVIDIA 顯示卡在 AMD 平台上性能不彰的問題),而且可以帶來相較於出廠時驅動程式而言將近 25% 的性能提升,NVIDIA 以優質驅動聞名大概就是從這時開始的。

RIVA TNT2

發佈時間:1998 年
API 支援等級:DirectX 6.0、OpenGL 1.1

在 RIVA TNT 推出幾個月後,為了迎戰 3dfx 新推出的 Voodoo 3,NVIDIA 以 RIVA TNT 為基礎開發了 RIVA TNT2 (實際上在設計層面上 TNT 與 TNT2 幾乎是一樣的架構,同樣是兩條像素管線、每時脈週期可以處理兩個像素,只是在功能參數上有所改良與補完)。

RIVA TNT2 的主要改進內容有製程從 350 奈米製造工藝提升為 250 奈米製造工藝,加入對 AGP 4x 介面的支援,並將記憶體支援上限拉高到 32 MB,並且解決了 RIVA TNT 當時最大的缺憾-時脈拉不上去的問題,RIVA TNT2 系列產品的時脈從 125 MHz 起跳 (後來有推出最低 80 MHz 的廉價版),最高可以達到 150 MHz 之譜。

而延續 RIVA TNT 的設計,RIVA TNT2 同樣可以支援 32 位元色彩深度,至於主要競爭對手 3dfx 陣營的 Voodoo 3 則是仍然只能輸出 16 位元色彩深度的畫面,這是 RIVA TNT2 當時主打的賣點之一 (即便其實看起來差異並不如 NVIDIA 宣稱的那麼大,畢竟 Voodoo 3 在晶片內部運算的時候也是以 32 位元色彩深度為標準,只是輸出時只剩下 16 位元深度罷了,但這樣的商業宣傳效果卻給 NVIDIA 帶來了不少加分)。

RIVA TNT2 對 NVIDIA 來說是一個非常重要的里程碑,除了 RIVA TNT2 在商業宣傳上相當成功之外,還加上 3dfx 做了一系列錯誤決定 (像是買下 STB 而搞到其他板卡廠眾叛親離之類的),在這個時期裡 NVIDIA 的市場占有率與 3dfx 有了交叉的情形出現,在這之後 NVIDIA 逐步成為新的圖形晶片霸主,而 3dfx 則持續走向衰亡。

最後要談的是 RIVA TNT2 家族先後推出的不同版本 (RIVA TNT2 是 NVIDIA 有史以來第一次採用由高到低針對每個市場推出符合各自需要的顯示晶片版本的作法),首先在中高階的部分除了一開始推出的 RIVA TNT2 (運作時脈為 125/150 MHz) 之外,後來又推出了針對旗艦頂級市場推出的 RIVA TNT2 Ulta (將運作時脈提高到 150/183 MHz),並在半年後推出了針對高階市場的 RIVA TNT2 Pro (運作時脈為 143/166 MHz)。

至於低階入門市場的部分,這應該是 NVIDIA 第一次以現有產品的電路設計簡化成新晶片後當成入門版產品賣的案例 (以往入門版產品也會使用和高階產品相同的基礎電路),在 1999 年 10 月 (約莫與 RIVA TNT2 Pro 同期) NVIDIA 以 NV5 為基礎,將記憶體傳輸介面的寬度由 128 位元減半為 64 位元,並將記憶體容量支援上限壓低為 16 MB 後發展出 NV6 核心,並以 Vanta 系列為名發售 (但有一個特例,名為 TNT2 Model 64 的顯示核心其實也是 NV6)。

Exit mobile version