在看過 3dfx 短短不到五年卻充滿起起伏伏的歷史之後,接下來我們要回頭看同一時間正在快速壯大勢力的 ATI 與 NVIDIA 所推出的產品,2000 年是一個在個人電腦世界裡極為重要的年份,除了是電腦問世以來的首個「千禧年」,人們突然意識到當年設計程式時沒把 2000 年後的世界考慮進去,在標示年份時只用了二位數字,導致很有可能發生 1900 年與 2000 年在紀錄上分不清楚的大問題 (不過其實最後證實還好,畢竟電腦也沒那麼早被發明出來) 之外,更重要的是這一年內有了很多突破性的發展,顯示晶片也不例外。

2000:硬體 T&L 時代

  • 重點 API:DirectX 7.0、OpenGL 1.3

在 2000 年我們迎來了個人電腦用 3D 圖形晶片的第一次架構大改版,最主要的特性就是在顯示晶片中加入了硬體 T&L 機能,如同上一篇我們談過的,這也是最終導致 3dfx 被徹底淘汰的主要決定因素之一。

硬體 T&L 是甚麼?

相信看到這裡大家最想問的問題大概就是這個了吧?實際上硬體 T&L 中的 T&L 是 Transform & Lighting 的縮寫,包含了座標轉換與光源處理兩個主要部分,在 3D 圖形繪製的過程中這兩大部分是極為關鍵的,座標轉換決定了視角旋轉之後各多邊形的位置、形狀 (基本上是由大量的矩陣運算構成),而光源處理則影響了之後整個物體上所打的光線與背後陰影的分布、形狀等。

之所以我們在這裡特別強調「硬體」T&L,其實是指顯示晶片內建「T&L 硬體加速支援」的意思,在早期 T&L 操作是由中央處理器負責的,這意味著顯示晶片需要受制於處理器的成分較高,需要依賴處理器運算 T&L 資訊之後下達指令給顯示晶片,顯示晶片才能開始處理像素著色、多邊形生成、材質貼圖等複雜的 3D 圖形產生過程,這意味著會發生下面這堆問題:

  • 本來就已經很吃緊的處理器還得分神處理大量的 T&L 運算,拖慢其他重要計算的速度
  • 顯示晶片比起運算來說更多時間其實花在等待處理器計算 T&L 上
  • 處理器與顯示晶片之間的資料傳輸速率並不夠快

要解決這些問題的方式其實很直覺 (不過並不簡單),從 2000 年開始 NVIDIA、ATI 與 S3 等公司就開始在自家的顯示晶片當中整合了專屬的 T&L 運算單元,從此顯示卡可以獨力完成絕大多數的操作,不再需要那麼大程度的受制於 CPU,也解決了性能受限於 CPU 的問題,這就是我們說的「硬體 T&L」。

NVIDIA GeForce256 (NV10)

發佈時間:1999 年 10 月 (SDR)、2000 年 02 月 (DDR)
API 支援:Direct3D 7.0 與 OpenGL 1.3
像素管線:4 條/材質對應單元 (TMUs):4 組/著色輸出單元 (ROUs):4 組

abc8011

誕生於 1999 年的 GeForce256 是 NVIDIA 第一款以 GeForce 為名的產品,同時也是歷史上第一款能夠完整支援 Direct3D 7.0 API 的顯示晶片,儘管仍然是以前作 RIVA TNT2 為基礎修改而來,但在架構上還是有著不小的差別 (所以代號並沒有接續前作的 NV5、NV6,而是直接跳到 NV10 了)。

amu6521

首先,GeForce256 內建的像素管線數量一舉比 RIVA TNT2 又增加了一倍 (從兩條增加到四條),在理論像素填充率、理論材質填充率方面比起 RIVA TNT2 Ultra 來說提昇了 60% 左右,並加入了一組用於提升影片撥放品質的動態補償單元,除此之外,最重要的改進當然就是剛剛提到過的硬體 T&L 支援。

而 GeForce256 也讓 NVIDIA 成功擺脫了「只重視速度而不重視畫質」的標籤,透過支援 Cube Environment Mapping (方形環境映射,本來這項技術只在 Matrox 的產品上看得到),GeForce256 可以更妥善地處理各種會反射的表面 (像是水、金屬之類的物體表面),而不再需要靠各種折衷方案來「模擬」反射表面的樣式 (以往的顯示晶片是以球體空間的方式來處理反射面,不過只有在特定角度時才能夠直接產出高品質的反射表面,其他情況大多得用模擬的,不幸的是,基本上不管怎麼模擬看起來還是不夠真實)。

不過在商業上 GeForce256 並沒有想像中的成功,儘管透過剛剛提到的這些特性,確實是成功讓 GeForce256 成為當時數一數二先進的顯示晶片了沒錯,但由於 1999 年底到 2000 年初市場上支援硬體 T&L 的顯示晶片還很少,自然能夠搭配這些新特性的遊戲軟體也不會太多 (甚至當時還有些人主張硬體 T&L 無用論,不過後來真的不搞硬體 T&L 的廠商都化為灰燼了呢),因此 GeForce256 在大多數情況下並沒有辦法很好的發揮其所具備的性能,加上其昂貴的價格、早期驅動程式有許多相容性問題未解與初代硬體 T&L 在性能上的不足 (當時的頂級 CPU 是可以追過 GeForce256 的),所以在市場上並沒有得到太大的親睞 (不過整體來說成績也不算難看就是了),硬體 T&L 晶片的大行其市基本上要等到下一代的平民級晶片 GeForce2 MX 誕生才會開始。

不過儘管此時加入硬體 T&L 的功能帶來的效益還不明顯,但卻給 NVIDIA 創造了許多「附加價值」,首先,透過整合了硬體 T&L 單元,NVIDIA 終於得以跨足進入電腦輔助設計 (CAD) 領域了,透過發行特別版本的驅動程式,NVIDIA 得以將同樣的 NV10 晶片另外製作成 Quadro 專業繪圖卡,搶攻 CAD 領域的商機,除此之外,得益於硬體 T&L 支援,即便在 GeForce2 推出之後,GeForce256 仍然得以作為公司的入門產品生存好一陣子而不被停產。

cka8011

另一件值得注意的事情是,GeForce256 是 NVIDIA 第一次以「GPU (Graphics Processing Unit)」來稱呼自家的圖形晶片,這個由 NVIDIA 首創的名詞某種程度上是想透過相似的命名來拉高圖形晶片在個人電腦當中的重要性 (目標是與 CPU 齊名),而在 NVIDIA 強大的行銷與推廣之下,現在我們也很習慣以 GPU 稱呼各種圖形晶片了 (在接下來的文章當中也會改用 GPU 一詞)。

最後要提的是 GeForce256 並未採用類似 RIVA TNT2 那種高中低階分別推出產品的模式,而是只有分成兩個版本,依照採用的記憶體為雙倍資料傳輸率 DDR SDRAM (GeForce256 是第一款使用這種記憶體的圖形晶片) 或一般 SDRAM/SGRAM 的不同可分為 SDR 與 DDR 兩個版本 (一般而言容量為 32 MB),不過在記憶體頻寬方面,即便是 DDR 版本仍然是嚴重不足的。