我是沒有這麼悲觀啦.... ^^;
基本上NV30可以加強的地方不少.
CineFX的指令訂得很漂亮沒錯但是implement麻煩,根據手邊弄的Shader test,現在NV30可能還存在Color Blending和Texture Fetch會互相干擾的問題(不能同時做),我會覺得NV30那個Texture Unit實在太龐大所以去排擠到Color Blending unit. 也就是說NV30有不少指令都還要2 cycles才跑得出來.
這樣舉例好了, 根據nVIDIA公開的slides(a
here, page3), NV30的Pixel Shader總計算能力是
500 Mhz * 8 pix/clk * 4-floats/pixel = 16 GFlops
而我們知道R300/350的Shader可以做到每時脈一個mad, 相當於8個flops. 於是它的Shader Performance就是
325MHz(425MHz) x 8pix/clk x 8-flops/pixel = 20.8G(27.2G)Flops
數字說了什麼? NV30的mad八成還需要2個cycle.
CineFX實在太龐大了, 要在去年第四季生出一個能夠有漂亮效益的管線結構實在太趕了.
而NV30、NV31/34和NV35這三個project全部都是三個不同的team同時在跑, NV35的容許時間比較長, 應該會改善這個部分, 而不是真的只做了256bit DDR, 因為那根本不會真的改善多少效能.... 別提和425/390的R350抗衡了, 會不會再被電也未可知. (別忘了R300/350的色彩壓縮比要比NV30/31/35要高, 這點也會影響記憶體效能)
另外, 從這邊的測試數據看起來, R300/350針對simple DX9指令進行了某種程度的最佳化(prefetch?), 一個4指令的Shader只跑了3.2cycle.... 真不簡單.
CineFX還針對了專業Cg市場, 相較起來ATi打造"專業遊戲卡"的企圖心就比較明顯.畢竟24bit FP對Cg動畫而言實在不太夠用, nVIDIA犧牲了遊戲效能弄出32bit FP來顧專業市場, 反過頭來說ATi就是放給它不管, 遊戲市場乖乖顧好再說)
----
以我的觀點而言, NV35應該可以算是"成熟"的CineFX實作, 雖然很希望nVIDIA連Vitural Memory Addressing之類的功能全部作進去, 但是這種優先度低然後又不太簡單的東西可能要等導入PCI Express的時候一起做比較有意思.
(Vitural Memory由3Dlabs率先在P10上導入, 這個功能可以讓GPU定址到天文數字[P10是16GB]的主記憶體, 方便使用巨型材質.... 對未來組建GPU Based RenderFarm有很大幫助; 不過NV35其實也是有可能做 VM 的啦, 畢竟P10是個八千萬電晶體規模的DX8實作....)
所以總歸一句, 如果NV35可以改善NV30的執行能力方面的缺點, 達到可以具備和R300/350同等效能的狀況的話, 32bit FP(本來一開剩下半速)和強大的CineFX說不定能讓它真正做到專業遊戲兩面通吃也說不定.