瀏覽單個文章
Artx1
Registered User
 

加入日期: Jun 2002
您的住址: 耗電量頗高的地方.
文章: 1,959
引用:
Originally posted by GPF
請教一下何謂高度複雜度的shader?
3DMark03 GT4,3DMark2001 GT4還不夠複雜呀?

還有...
使用更多register複雜度不算更高嗎?

如您所說,
"NV30/35用到某個數目以上的register之後降速會降得很厲害"...

如果是的話,那您為何還期望NV30/35在高複雜度的shader下面反而比較能發揮出來呢?小弟不太能明瞭...


嗯, 這樣講好了.

為了幫助RT Rendering, 目前使用的Pixel Shader長度也還沒有長到超過R300系的
內部PS cache(160指令), 不過R300沒有F-Buffer沒辦法使用超出指令長度的東西,
所以基本上還不算是高複雜度, 當然這是offline-rendering才用得到的東西, RT3D現在還不實用....

不過也有一個疑問是, R300系是不是就是因為Pixel Shader指令存放在晶片內部cache才會比較快呢?

-----
至於使用更多的register會降速的部分, 這部分我也不太明瞭.
但是從nVIDIA的David Kirk先生的談話, 其實是稍微可以揣測一下:

nVIDIA強調, NV3x是一個"virtual pipeline", 並不是四個可以改變部分處理能量的管線並列,
而是一個較大的資料流水線, 只是每個stage的處理能量都有點不同(可能是4個~8個), 並非原來一個一個pixel接力運作的設計, 於是stage間會有微妙的depend;
而目前R300的Pipeline, 各個管線的Pixel Shader都是獨立運作的, 彼此之間沒有depend.

所以, Uttar(NFI-GPU:RW的站長)當初的文章認為, 如果減少同時使用的register, 相對地拉長Shader長度的話, NV3x的表現會有所不同.

當然, 光是透過Register access的調配, 要透過"增加10%的程式碼增加個40%的效能"似乎是有點誇張了.

總之, 我是想關心NV3x"為什麼這麼慢"....
舊 2003-08-28, 10:38 AM #50
回應時引用此文章
Artx1離線中