![]() |
PCDVD數位科技討論區
(https://www.pcdvd.com.tw/index.php)
- 顯示卡討論區
(https://www.pcdvd.com.tw/forumdisplay.php?f=8)
- - Nvidia 玩古墓奇兵6 效率比 ATi差那麼多!
(https://www.pcdvd.com.tw/showthread.php?t=240728)
|
|---|
推推推`~~~:D
真是太精闢了~~~ |
回覆: 回覆: 回覆: 回覆: 回覆: Nvidia 玩古墓奇兵6 效率比 ATi差那麼多!
引用:
嗯,也許beyond 3d這篇文章可以解釋一些這樣的現象,這是NV30,不是NV35 我不知道NV35是否有作一些改變,但是我由電晶體數猜想是不太可能的 另外小弟對GPU認識很粗淺,這篇文章我看得很吃力,能相互討論仍值得高興 http://www.beyond3d.com/articles/nv30r300/ 它有FP16Unit X 8、和八個貼圖單元,FP32Unit事實上是由兩個FP16構成 所以它等於只有四個 FP32Unit,這樣他等於只能提供Radeon 9500的規模 雖然Radeon 9800是採用FP24而已,但是他確實就有兩倍的效率了 另外我查過NV30的PS 2.0的速度,他的fillrate真的是很慢 目前ps 2.0的遊戲還很少,假如在PS 2.0下NV35效率跟R300有很大差異 購買他就是沒有太多意義了,不過根據您提供這些連結跟我查的結果 NV35的PS 2.0可能一樣是很慢的,Nvidia傳統上會公布這一些資料 但這在NV30之後這,Nvidia反而逐漸保留這些資料,讓大家不太好預測 |
引用:
基本上我的意見和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的效能表現. |
引用:
如果1cycle有8gFLOPs的話,那就不得了了.... ^^a 考慮1個mad = 8FLOPs的話, R300應該可以得到 8FLOPs x 8pips x 325MHz = 20.8GFLOPs 的浮點效能. 話說回來, 其實我後來一直找不到nVIDIA所謂宣稱NV30有52GFLOPs的出處, 反倒是在paper上頭找到了nVIDIA宣稱500MHz的NV30有16GFLOPs http://developer.nvidia.com/docs/IO...ysSimOnGPUs.pdf page3 "Free parallelism, GFlops of math, vector processors 500 Mhz * 8 pix/clk * 4-floats/pixel = 16 GFlops" 引用:
關於Pixel Shader的效能方面, 有時會直覺地讓人想到FP24 vs FP16/32; 但是情況並不那麼單純. 雖然nVIDIA官方宣稱"使用FP16是FP32的兩倍快", 但是根據NFI那邊的數據分享, NV3x使用FP32時的速度延遲並不是真的那麼大. http://www.notforidiots.com/forum/v...php?t=8&start=8 在極端的case(使用32個register)下, 程式碼完全使用FP16運作有可能比使用FP32快了2.4倍. 但是如果減少register的使用(意指交換減少, 共用增加, 程式碼總長度增加), FP32其實並不會很慢; 增減調配register的使用, 亦即需要compiler來做optimize, 現在的Shader不論是game或者benchmark, 普遍地都是採用固定的assembly code, 如果寫作上普遍使用HLSL的話, 透過comipler技術, 可以產生比較適合於NV3x目前架構的Shader Code. 至於R300的部分, R300的架構設計配合了現有的Shader Code, 在某些順序下的指令可以平行處理, 而因此可以增加速度, 目前的小型Shader的指令並不複雜, 於是加速幾個常用指令的平行度是個好選擇; 但是在shader規模不斷增大的狀況下, 這樣的optimize法其實很快地會遇上瓶頸, 還是應該要連HLSL的運用也一起考慮進去才是長遠之道. 至於NV3x將Shader Code儲存在DRAM的實作問題, 其實當然會在GPU內部有規模比較小的cache, 只是可能在數十個指令的程度, 未來要擴充指令數應該也不是什麼問題. 其實這樣想起來, R350的F-Buffer基本上也是一種類似nVIDIA做法的手段, 因為一遇到條件分支, 不論剩下幾個指令空間, 還是得要做content switch, dump到DRAM讀入新的指令, 那與NV3x差異也不會太大的. 其實以類似RISC CPU的觀念來看, 本來就應該透過高階語言去讓compiler去做針對不同處理器的最佳化. DX9規定了低階的格式, 基本上不是一件多好的事情.... 當然已知DX10應該已經捨棄這種做法了. 引用:
oldman大在這篇文章作出NV30的管線內建FP16unit x 8的推論, 不過其實一如前述的理由, 看來NV3x的FP32 unit並不完全是兩個FP16 unit所構成的. |
說是 trilinear 的關係並不合理
在網路上看到的所有測試程式都是用 trilinear 有這種問題 那 NV 早被狂電了 但事實上不是如此 而且說開 trilinear 效能不佳 等於是說晶片設計問題很大 實際上 GeForce 的設計一直很優秀 trilinear 是古早的東西了 和 AF 有很大的不同 連效能普普的 GameCube Flipper 都能做到 trilinear 不會有任何 fillrate loss 了 如果把問題說得複雜 牽扯到 memory access 不是 linear 因此影響到記憶體 access 的 latency 再加上晶片內的 internal cache 這可絕不是簡單的 fillrate 算術可以算的 別算啦 晶片內的黑箱太多了 這麼做並沒有離猜測多遠 看完前後文 我覺得 beyond3d 說明是由於 pixel shader 效能不彰並沒有錯 裡面的 shader 2.0 因為 shader 本身並不複雜 所以 shader 的複雜程度不是關鍵 主要是在使用了浮點精度 FX 用的是 16bit Radeon 用的是 24bit 所以 FX 並不是因為高精度的關係造成效能不良 即使低精度下依舊慘烈 這方面也許是驅動程式的問題 我認為往後驅動程式應可能改善這個問題(至少就這個遊戲而言) NV 的 shader 效能 的確是不佳的 把責任推給 DirectX 架構是不對的 即使在 OpenGL ATI 照樣能在 NV 自家的小精靈 demo 跑得比 FX 還快 beyond3d 有更詳細的測試了 裡面有提到 shader 效能的問題 |
抱歉...你們再討論什麼我不是很清楚啦...不過這一句
"連效能普普的 GameCube Flipper 都能做到 trilinear 不會有任何 fillrate loss 了" GC的Flipper效能普普?是和什麼比呢? Flipper的多邊形比XBOX的NV2A還高的說.還有8道硬體光源說...我不覺得差啊 ·Estimated raw display capability: NGC:162.0 million polygons per second XBOX:116.5 million polygons per second PS2:84.26 million polygons per second |
引用:
我覺得連mx400都跑不過說..:D 因為至少我同學玩起來不會頭不見或隱形:cool: |
引用:
Well, filpper的fillrate的確尚可而已.... 畢竟它只需要對付低解析的電視環境, 沒有打算去跨HDTV, D端子也只支援D2(480p)而已. 至於T&L, 則本來就是flipper的強項了. |
奇怪?? 何時 GC的多邊型變最高了??
以前查到的資料還是以X-BOX為最高多邊型產生率的耶.......GC是落後X-BOX但領先PS2的?? 但是GC的強項是在開反鋸齒上:( (GC的玩家一向強調它的畫質,沒幾個強掉它的"效能"....X-BOX正好相反:p) |
引用:
話說Shader效能不彰, 其實我覺得NV3x的架構也很有趣, 為什麼用到某個數目以上的register之後降速會降得很厲害呢? 而且一般狀況下提供越多的register代表content switch時的資源更多.... 怎麼反而用越少register越快(雖然從數字上真的有可能), 這點就真的很有趣就是了. 至於責任推給 DirectX 架構是對是錯, 這邊是有點保留就是了.... 基本上 DirectX 也是MS與其他公司間的利益交換堆積出來的東西, 現在DX9的規格怎麼看都是對 ATi 很有利的玩意兒, 如同當年DX8和nVIDIA的關係. 說是風水輪流轉好像也頗切實.... 當然這樣講就有失公允了. 總之, 我是覺得會想期待一下NV3x在高度複雜度的Shader下能不能有更好的表現; 而我會覺得R300/350的高速可能不容易在高度複雜的Shader下發揮出來. 當然現在的高速仍然有目共睹就是. 這邊也聽過R300系應該比較能夠發揮出一般對DX9效能上的期望. |
| 所有的時間均為GMT +8。 現在的時間是08:59 PM. |
vBulletin Version 3.0.1
powered_by_vbulletin 2025。