瀏覽單個文章
Artx1
Registered User
 

加入日期: Jun 2002
您的住址: 耗電量頗高的地方.
文章: 1,959
引用:
Originally posted by kkcity59
我提供我的看法,基本上我認為,AF跟Trilinear發生的瓶頸是一樣的
我只指出AF的問題,因為我把Trilinear看成一種AF處理,假如不是這樣
就請您說明一下,例如以1:2 AF,每個貼圖需八個texels,這與trilinear情形相同
假如GPU可以fetch 8 texel/cycle,他可以得到幾乎免費的AF或Trilinear
但是假如是1:8的AF_Mipmaps,texels需要64個,這時的fillrate就可能是瓶頸
(通常這時候的memory bus都還可以撐得住,這是與AA有一些不同的)
以Geforce來看,他長期的AF效率都是不好,一個原因是他很多晶片
打開AF時,fillrate會減半,NV30若沒有改進,則AF效率會大不如R300
事實上目前所有的測試,也都指出來NV3X仍然有這樣的問題
就算這一篇測試報告,也反映出同樣的問題


基本上我的意見和kkcity59兄的看法相同, 不過有些地方要跟著列近來討論一下就是了.

話說nVIDIA系的GPU(不含GF256)的產品TMU的讀取能力似乎一直維持在4texels/cycle,
於是在NV3x之前(不含NV10), AF的速度就幾乎是與AF階數相關.
比如說, 1:2 AF + bilinear MIP map, 在single mapping下總共需要16texels,
於是每個pixel就需要2個cycle才能完成. 話說NV30的TMU也維持與過去同樣的水準,
只是加入了新的AF演算法, 讓它不需要每個pixel都處理這麼多的texel.
不過這個演算法品質下降得有點明顯, 算是一個不好的折衷.

相比之下, R300的TMU效率其實應該也差不多, 只是它的AF演算法比較好一點.
讓它不需要讀取那麼多的texel, 進而達到了比較好的AF速度.

AF有兩個重點, 一個是sampling points, 一個是MIPMAP LOD的選擇.
比起R200來說, R300的 MIPMAP LOD的選擇改善很多, R200有在水平與垂直時效果最好,
在45度的時候則完全沒有效果; R300則讓AF的有效角度改為45度的倍數,
而使得最佳角度變成八個角度; 當然失效角度也跟著改變了.

說起來, R300的AF效率和R200比起來稍微有點下降....
當然這是同時脈下相對性的比較, 因為晶片的時脈也提高了, 於是R300比起R200絕對效率是有提高的.

比較之下, nVIDIA的AF實作上, NV2x的AF演算法的演算法品質非常好, MIPMAP LOD非常接近最好的選擇,
只是patten的選擇則就很糟糕, 進而讓效率變得很慘....於是很多人認為NV2x的"高品質AF"是不實用的, 即使效果很好.
NV3x的狀況則如同前述, 有一個新的AF模式但是效果不好. 跑舊有模式的時候則和過去NV2x一樣慢.
ATi 的patten選擇則好得多, 於是就反映在效能上.

理想上, 應該是要追求處理最少的texels而達到最好的效果, 只是目前的硬體實作還做不出一些比較複雜的演算法就是了.
總結上而言, 普遍上認為目前R300的AF是一個比較好的折衷, 不過ATi應該可以企圖去提供品質更好的AF就是了; 而nVIDIA需要引進一個更好的patten, 才能改善AF的效能表現.
舊 2003-08-27, 10:17 PM #33
回應時引用此文章
Artx1離線中