引用:
Originally posted by bluesystem
嗯....請教一下您也是寫3D程式的嗎??
我前面說過,要做出某一種效果或使用某一種技術的方法有很多.
關於前一陣子3DMark2003剛出來時nVidia在吵這種東西時我就找
了很多技術性的討論來看,同樣是用Shader,不過很明顯的3DMark2003
的寫法並不高明.....
至少遊戲程式設計師不會考慮用跟3DMark2003同樣的寫法,但這不代
表做不出跟3DMark2003一樣的畫面.Doom III我確信在NV或ATI的卡
上面同樣可以跑得很好,不會像3DMark2003在硬體規格相近的卡上有
天差地遠的速度差別.這是程式寫法的問題,而問題就出在光是一個
3D Benchmark的程式,根本不能等比例的反映出執行遊戲時的真實
效能.就這麼簡單!
我前面講過,用一個不是遊戲的程式來評估一個遊戲用的硬體真的很可笑.
今天大家買顯示卡回來是玩遊戲,不是在玩Benchmark.遊戲程式導入新
技術的速度,要看新技術普及的速度.遊戲沒用到的技術再強又有什麼用?
等到後面的遊戲導入新的技術,顯示晶片廠商自然會對新的技術做最佳的
調整.而且那是針對各種不同寫法的遊戲來做調整,而不是把心力都花在一
個DEMO程式上面!試想今天買了一塊卡跑Benchmark又快又不會當,但是
玩遊戲的時候問題百出,這樣真的就是對消費者好嗎??
|
我不是遊戲的程式設計師
我做的是應用程式的 programming
雖然我曾經碰過一點
不過那只是因為興趣而摸的
你說的其實只要是一般的 programmer 應該都看得懂
不是 programmer 也沒理由看不懂(你寫得淺顯易懂)
一種目的本來就有好幾種方法
這在 programming 上更是如此
我覺得 realtime 3D 是很 charming 的
關於 3DMark 的技術方面
我也是看了很多資料
NVIDIA 的批評是 3DMark 的 shader 沒有效率
尤其是陰影的計算上
過多的不必要重複運算
讓整體效率受限於 shader 的執行速度
而非目前一般遊戲是受限於 fillrate
所以它不能代表遊戲執行的效率
NVIDIA 所說的是事實
目前的遊戲都不需要高速執行 shader 的能力
NVIDIA 是一家非常商業導向的公司
它推出的產品一向是只要能在目前的遊戲執行快且成本便宜就行了
幾乎不為未來著想
所以推出了 GeForce4 MX 這種鬼東西
偏偏又賣得這麼好
結果是讓 shader 的普及速度很慢
所以現在 shader 所做的效果非常有限
與當初規劃的完全不同
(有多少家開發商表面宣稱使用 pixel shader,實際上只是用它來代替 multitexturing 而已)
GeForce4 Ti 也是半斤八兩
居然不支援 pixel shader 1.4
這次 NVIDIA 算是踢到鐵板
因為 3DMark03 使用相當多的 pixel shader 1.4
GeForce4 Ti 在處理 pixel shader 1.4
至少需要兩個 pass
所以跑出來的效能非常不佳
分數難看
當然要反擊
但是
NVIDIA 同時也在誤導
3DMark03 的確不能代表目前遊戲的效能
但是對於未來遊戲的確是相當的指標性意義
DOOM III 的引擎也有用 complex shader
對於 GeForce 3/4
大部份的情況需要兩個 pass 以上
而 Radeon8500
卻是幾乎所有的時間都只需要一個 pass
因為 8500 的程式化能力較高
所以 GeForce4 在 Doom III 的 benchmark 上
效能差 9700pro 50%
而 9500np 甚至和 Ti4200 打平
這在目前的遊