(轉)Pixel-Fillrate顯卡像素填充率


Pixel-Fillrate

  “填充率“以每秒鍾填充的像素點為單位,“三角形(多邊形)生成速度“則表示每秒鍾三角形(多邊形)生成個數。現在的3D顯卡的性能也主要看着兩項指標,這兩項指標的數值越大,顯卡三維圖像的處理能力就越強,顯卡的檔次也就越高。

  

填充率的故事

  談到3D加速卡,最常用的一個詞就是填充率。各大廠商在介紹和推廣自己的產品時,填充率總是作為一個重要指標而大肆宣揚。甚至一場宣傳戰的爭奪焦點也是填充率。那么,填充率到底意味着什么?為什么有些公司用texels(紋理填充率)而另一些用pixels(像素填充率)來定義呢?

  首先讓我們來看看廠商們對填充率相關的聲明:

  “ATi的下一代Rage 128 GL圖形芯片將為高端PC市場提供最好的性能和功能,Rage 128 GL具有超標量渲染引擎和單通道多紋理技術,將是第一個突破1 G texel/s大關的3D芯片。”

  -引自ATI的多年前的一次產品宣傳

  “nVIDIA Geforce 2,歷史上第一款填充率破G的圖形芯片!(1.0 Gigapixels)”

  nVIDIA當年的的新聞聲明:

  

[理論峰值填充率]

  大多數公司所謂的填充率實際指的是理論峰值填充率,那么那些填充率的數值是怎么得來的呢?要獲得一塊顯卡的填充率的前提條件是必須知道3D芯片的時鍾。將芯片時鍾、像素渲染管線的數目相乘,即可得到芯片的填充率數值。下面的幾個例子有助於理解:

  3dfx Banshee處理器通常在100MHz下運行。它只有一條像素渲染管線,(這樣每個周期它只能計算出一個雙線性過濾像素並在屏幕上顯示出來)。根據填充率的定義,Banshee的理論峰值填充率就是100MHzX1=100M pixels/s。

  nVIDIA RIVA TNT有兩條像素渲染管線,芯片時鍾為90MHz,很容易算出TNT的理論填充率為180M pixels/s。

  

  

  nVIDIA Geforce FX 5800 Ultra處理器通常在500MHz下運行。它有八條像素渲染管線,每條管線一個紋理單元。根據填充率的定義,Geforce FX 5800 Ultra的理論峰值填充率就是

  500MHzX8X1=4000M pixels/s。

  ATi Radeon 9700 Pro處理器通常在325MHz下運行。它有八條像素渲染管線,每條管線一個紋理單元。根據填充率的定義,Radeon 9700 Pro的理論峰值填充率就是325MHzX8X1=2600M pixels/s。

  原來如此,我明白了!先別太得意,事情可不是想的那么簡單。上面的填充率都是在極端的條件下得到的。某些圖形處理器面臨限制,它們的像素渲染管線只能為同一個屏幕像素工作,如果像素為單紋理的話,那么第二個像素渲染管線就只好閑置了,這時填充率實際上很低。這里我要告訴大家的主要問題是:在不同的條件下,填充率可能有所不同。理論峰值填充率是3D芯片時鍾與像素渲染管線數目的乘積。但這種填充率是在特定的工作環境下獲得的,要求像素渲染管線可以同時工作。

  讓我們來體驗一個復雜些的情況:試着計算一下nVIDIA Geforce Ti 4600的填充率,Ti 4600有四條像素渲染管線,每條管線兩個紋理單元,芯片時鍾為300MHz, Geforce Ti 4600的理論峰值填充率怎么計算?300MHzX4X2=2400M pixels/s?嗯,算來不錯,可實際上呢?300MHzX4=1200M pixels/s,這才是正確的計算!那么300MHzX4X2=2400M是什么呢?答案就是:2400M texels /s。這里,texels /s這個英文就是我們下面要講的——紋理填充率。

  

 [紋理填充率與像素填充率]

  為什么有的廠商廣告詞中填充率的數字怎么比理論填充率還要高?難道是廠商騙人嗎?這里你所看到的填充率很可能就是紋理填充率而不是理論填充率!

  紋理填充率是指一秒鍾內紋理渲染的數目,計算公式同理論填充率相似:3D芯片時鍾x像素渲染管線數目x單個紋理使用的texel數目。

  哇,太難受了!不要緊,我們還是舉例子:

  ATi Rage 128GL原打算設計為125MHz,有兩條像素渲染管線。每條管線可以為一個雙線性過濾像素上色,而雙線性過濾需要4個texles。因此Rage 128GL紋理填充率為:125(時鍾)X 2(像素渲染管線條數)x 4(texels)= 1000 Mtexels/s或1G texels/s。

  讓我們回首上文那段新聞稿:

  “ATi Rage 128 GL圖形芯片將為PC市場提供最好的性能和功能,Rage 128 GL具有超標量渲染引擎和單通道多紋理技術,將是第一個突破1 G texel/s大關的3D芯片。”

  許多人都迷惑不解,因為他們認為上面所說的1G texels是理論峰值填充率,我個人認為不應該使用紋理填充率,那樣做的唯一目的就是欺騙和愚弄人們。所以當你看到一個近似天文數字或比同一代其他顯卡高的多的填充率,你應當意識到那很可能是紋理填充率而不是理論峰值填充率。

  這里,我們要注意的是,紋理填充率從來都是以Mtexels表示,而不用Mpixels!

參考:http://blog.csdn.net/pizi0475/article/details/7565067


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM