先前有人提到了Colored MIPMAP在NV40上也會變慢的問題,THG收到了一點資料。
引用:
I received an additional info from Epic:
xxx @ NVIDIA just pointed out that filling textures with a constant color/alpha might cause more pixels to be written to the framebuffer (passing alpha test) which could affect performance. Totally forgot about that one and I should probably change the code to leave the alpha channel alone for our next generation engine
This would explain why there´s always a performance hit, even with full bilinear and with NV40 as well.
Lars - THG
|
所以RGBA直接寫入會比RGB+A分開寫入慢一點點。
這個可能算是一個解釋。EPIC方面是認為可以在未來的引擎上做因應。
至於ATI方面,Hotball大做了一點意見:
引用:
考慮 ATI 的回應,我猜測 R420 使用的是一種類似 per-pixel 判斷的方式,而不是在 driver 中判斷。當然,實際上不會真的是 per-pixel,而比較可能是 per-quad 或更大的單位(否則就省不了記憶體頻寬了)。當然,這就牽扯到一個問題:"brilinear" 在一般情形下是否真的沒辦法看出來?我認為,在一般的貼圖來說,應該是相當不容易看出來沒錯。
如果 ATI 真的是做某種 per-pixel 或 per-quad 或類似的判斷的話,那的確是比對所有的貼圖都進行 "brilinear" 還要理想。當然,如果是 per-texture,那就變成 driver 要去判斷哪些貼圖適合做 "brilinear" 哪些不適合了。一個判斷 ATI 做法的方式,是用一個特別的貼圖,其中一半是 color MIP map,另一半是正常的貼圖,然後去看它如何使用 "brilinear":是完全沒有使用(因為 color MIP map),還是完全有使用,或是只有正常貼圖的部份使用?這應該會是一個有趣的實驗。
|
以上的意見,給各位做個參考。