PCI-E專欄:滿足遊戲玩家對速度的渴望 PCI Express加速影像資料傳輸

2005 年 10 月 03 日

全世界的遊戲玩家除了要求逼真、更棒的繪圖效果與畫質外,其他一切就是速度、速度、速度,因此遊戲設計業者總是努力地滿足玩家的要求。然而,現今的電腦系統是否能夠滿足他們的要求?現有技術是否足夠因應?這些問題的答案眾多,但PCI Express影像匯流排技術無疑是一個令人興奮的答案。
 

在典型的電腦遊戲系統中運用一個非常標準化的晶片架構。主要的電腦運算作業由中央處理器負責,其他不是由處理器(通常由Intel或AMD製造)直接處理的作業,則是由北橋晶片或「記憶體控制器集線器(MCH)」控制CPU、記憶體以及連結繪圖卡之16通道PCI Express原始連接埠(Root Port)之間介面的傳輸作業。南橋晶片或I/O控制器集線器(ICH)則透過一種特定電子介面與北橋晶片連結,為系統提供多種不同的週邊連結點(圖1)。
 

在系統中繪圖與遊戲之間的關係,均與繪圖卡效能(圖1中標有GFX的部分)以及從系統將影像訊號傳輸到螢幕上的效能有關,這正是PCI Express成為理想資料傳輸連結的原因。過去,這種匯流排的資料傳輸作業(圖2)需要好幾種不同的技術,而每種新匯流排技術的誕生都強調能帶來全新的繪圖效能,並能消弭各種系統瓶頸。
 

資料傳輸為系統瓶頸
 

不論是哪種系統,工程師都須考量系統瓶頸的因素,對系統工程師而言,所謂瓶頸是指資料傳輸在系統的某個部分受到限制。想像在一個配置三名工的組裝生產線中,1號員工每分鐘能組裝5個組件,2號員工每分鐘能組裝10個組件,而3號員工每分鐘只能組裝2個組件,在這種狀況下,3號員工就是生產線中的瓶頸,因為整條生產線的產出受到速度最慢的員工所限制,這等於每分鐘只能生產2個產品,如果指派另外一名人員去協助3號員工,整個系統的效能就能提高。在通訊或資料處理的環境中,所謂的瓶頸指的是在整個系統各個部份間,出現狹窄的頻寬通道,若在最新的電腦遊戲中,以上所說的資料傳輸限制發生在影像畫面所需的資料傳輸上,那麼這種傳輸瓶頸就是電腦遊戲玩家的公敵。 
 

在了解對頻寬的需求以及如何消弭瓶頸之前,首先必須瞭解在基本技術上的限制。如在「雷神之鎚3」(Quake 3)這類3D遊戲的場景中,有些物件使用相同的X與Y座標值,若要達到更高的逼真度,關鍵在於這些座標值在Z軸的相對位置。在以往的電腦遊戲中,每個像素都僅限於X-Y軸的平面上,根本沒有景深可言,然而,目前新開發的遊戲中則加入了3D或Z軸的概念,這是為了創造更逼真遊戲場景。  
 

物件在Z軸上定位的概念稱為「Z軸緩衝區演算法」(Z-buffing),這種演算法決定哪些物件或物件的哪些部份會顯示在螢幕上,或是哪些物件會被遮蓋(圖3)。Z軸緩衝區(Z-buffer)是繪圖記憶體中的一個特別區域,裡面儲存著每個像素的Z軸或景深資料。當描繪物件時,每個像素的Z軸值會與在Z-buffer中同一位置的像素點進行比對,若像素的Z軸值較高(如圖中球體所示),或較接近遊戲玩家,則系統會在訊框緩衝區(Frame Buffer)寫入新的像素值,且Z-buffer會更新Z軸值的資料內容。
 

為什麼Z-buffer很重要?由於電腦遊戲的逼真度取決於Z-buffer表格中數值資料的準確度。若Z-buffer設定的深度值愈高,出現視覺瑕疵的機會就愈低或多層重疊的現象就會消失。主要的關鍵在於若資料更新的速度夠快,並能妥善地進行緩衝作業,就可在節奏快速與高細膩度的遊戲畫面中,精準地呈現所有Z軸數值。因此業界決定採用PCI Express匯流排技術。
 

PCI Express匯流排為資料傳輸架構
 

目前3D繪圖卡具備的處理效能可媲美系統中主要的中央處理器。繪圖處理器(Graphics processing unit, GPU)能處理許多可產生逼真影像的特定功能,以滿足遊戲玩家的需求。此外,螢幕上的3D場景,皆是由3D多邊形(通常為三角形)所建構成,這些多邊形會置於Z-buffer中,因此只有影像前方會顯示在螢幕上,而無法透視物件的背面。然後,運用光源效果,讓3D物件可顯示出亮部以及投射陰影的區域。最後再為每個多邊形進行材質貼圖(圖4)。
 

在3D繪圖卡所顯示的每個影像皆是以多邊形構成,實際上,多邊形是許多三角形或由兩個三角形構成「四角形」。3D物件的表面是由許多三角形所組成,並根據在場景中的POV(Point of View)觀測點相對位置進行貼圖。當CPU在傳送某個物件出現在螢幕上或移動點的訊息時,物件的頂點座標就會透過介面匯流排,從主機記憶體傳送到影像卡的記憶體。雖然介面匯流排是否傳送最重要訊息仍備受爭議,但這並非總是佔據多數頻寬的資料。圖4所示的球體就是由數百個點所組成,而地球的貼圖則是上萬個像素與色彩深度的位元組所構成。
 

頂點會耗用多少PCI Express或AGP的傳輸頻寬?在影像領域沒有一定的數值,因為螢幕上顯示的資料都不一樣,而且資料顯示所使用的程式運作的方式也不盡相同。NVIDIA最近發表一個由10萬個多邊形所構成的狼人動畫展示(圖5),每個多邊形內含有3個64位元的頂點,在每秒60個畫面的更新率的狀況下,影像傳輸的速度約為每秒50 0MB,對於硬碟介面而言,這是相當高的資料傳輸量,但對於AGP或PCI Express,卻是輕而易舉的事。
 

圖6顯示系統的資料流以及緩衝區控制的情形,當狼人的多邊形資料傳到繪圖卡的影像記憶體時,就會被放置於Z-buffer,Z-buffer會研判A物體是否會顯示在螢幕上,或是是會被B物體掩蓋,如果設計人員將原本在螢幕上部份或者完全隱藏的物體顯示出來例如在街頭打鬥或戰爭場景,Z-buffer也會消耗大量的影像頻寬。此外,儘管一個物件沒有在螢幕上顯示出來,它還是會存在Z-buffer之中,舉例來說,影像引擎中有一疊撲克牌,每張牌都會被置入Z-buffer中,然後再逐一被下一張牌所覆蓋。   
 

當資料被置入Z-buffer中,就會加上各種光源效果,這些效果的處理作業相當複雜,包括擴散式光源、直接光源、間接光源,以及反射光源,均有不同的處理形式。這些光源效果的應用只會消耗影像卡中記憶體的頻寬,因此不會影響到PCI Express或AGP的傳輸頻寬。  
 

一般而言,影像的材質資料佔據了CPU RAM與GPU RAM之間最多的傳輸頻寬,過去是由材質資料促使32位元PCI(PCI Classic)轉移到AGP匯流排技術,由於材質資料與圖案(或微型圖片)會被貼在多邊形的表面,因此會在影像卡上占用不少的記憶體空間,並且需要花費不少載入時間。
 

除此之外,若一個場景所需要的材質已儲存在RAM記憶體之中,就只需要少量的記憶體或者PCI Express匯流排頻寬,然而,當材質緩衝區發生超載情況,以及GPU必須透過AGP或PCI Express匯流排來存取材質記憶體的時後,PCI Express的功能就得以充份展現。
 

圖7顯示各種記憶體頻寬高達每秒10GB的中階繪圖卡之記憶體頻寬使用狀況。若每個像素被存取10次(因為需要許多不同的材質資料以及著色細膩度所致),記憶體頻寬還能勉強應付16通道PCI Express的傳輸速度。
 

然而,若遊戲玩家使用的系統或遊戲,每個像素需要存取15次以上,PCI Express(或任何匯流排)則沒有足夠的頻寬來傳輸頂點或材質資料,同時畫面更新率會開始下滑。  
 

若材質緩衝區超載,且需要從RAM記憶體傳出資料,AGP匯流排會以每秒2MB的速度傳送材質資料,這讓畫面更新率會大幅下滑,或以PCI Express 16通道匯流排傳送資料,讓每秒10GB的傳輸介面稍微減緩傳輸速度,若GPU本身有充裕的記憶體可以運用,加上設計人員特別謹慎的話,應用軟體可以同時運用PCI Express的頻寬以及影像記憶體的傳輸頻寬!
 

以資料傳輸率與存取速度致勝
 

在任何PC遊戲中,擁有最強武器的玩家總是勝利的一方。擁有最強資料傳輸管線技術的工程師也是永遠的贏家。
 

PCI Express充裕的傳輸管線能提供PC遊戲設計人員足夠的資料傳輸率與存取速度,以滿足現今PC遊戲玩家對於技術優勢的需求。對於以往PC繪圖標準而言,PCI Express的演進與創新,源自於電腦遊戲界對於技術持續升級的需求,現今從事創新設計的工程師所面臨的挑戰是如何在目前的應用系統中,充份發揮PCI Express的效,並思考能還有什麼創新技術可以運用?如何續持突破先進技術?如何在遊戲中充份發揮新一代匯流排技術PCI Express的頻寬與功能優勢?
 

(本文作者任職於Cypress Semiconductor公司)
 

(詳細圖表請見新電子235期10月號)
 

》想看更多內容?快來【免費加入會員】【登入會員】,享受更多閱讀文章的權限喔!
標籤
相關文章

具價格低/可重複燒錄特性 HT48E50試作電子遊戲機

2007 年 05 月 31 日

降壓轉換提供定電流輸出 高亮度LED電路設計有譜

2008 年 03 月 05 日

與WLAN技術緊密結合 MEMS模組增強室內定位精準度

2013 年 06 月 03 日

電源能效/尺寸/可靠兼具 智慧電網設計自動化跨大步

2021 年 01 月 07 日

AI推論執行有道 INT4運算全精度優化

2020 年 10 月 29 日

車用HPC晶片驗證不容忽視

2023 年 10 月 31 日
前一篇
雙贏偉業推出採用Xtramus晶片XTG-101路由器
下一篇
TigerJet Network發表整合標準電話介面USB VoIP單晶片控制器Tiger560C