但DX10.1到底是什麼?真的有這麼神嗎?一定非等DX10.1的GPU出來才能買嗎?所以我寫一篇小小的文章來講一下DX10.1的三大「特色」。
1.強制32bit floating point texture filtering:這是針對32位元浮點材質做過濾,遊戲的話主要是用在更高級的HDR特效,其實ATI和NVIDIA這一代DX10顯卡就已經支援了,只是在DX10裡這是「選用特色」,GPU廠可自由決定要不要導入,但兩家競爭太激烈,所以都加入以防對方拿出來嘴砲。附帶一提,我還不知道有哪個遊戲有用到這個特色,因為FP16 texture就已經夠炫夠操了(也就是現在常見的HDR特效),FP32 texture通常是給GPGPU用的,而GPGPU通常不需要filtering,但就算有遊戲真的採用FP32 texture,現在的卡也可以勝任愉快。
2.強制4x MSAA反鋸齒:不用我提大家也知道,N年前的顯示卡就已經支援到4x AA了,DX10.1只是終於把它列為「強制」特色,而非選用。事實上,兩家打的太火熱,都各自支援到8x MSAA,特殊的AA模式已經到16x、24x、32x,都快要跟光碟機倍速打平了。強制具備4x MSAA只是讓微軟可強調DX10.1的畫質。
3.把MSAA sample讀回Shader:這是DX10.1目前最「大」的改變,可把MSAA取到的Sample讀回Shader做進一步的可程式化處理,類似ATI這一代做的CFAA,以MSAA Sample的位置做加權式的處理,讓反鋸齒畫質些微提升(比如愈靠近像素中心,顏色的權值就愈高);或是由Shader來計算MSAA Sample的覆蓋率,再以覆蓋率來決定最後像素的顏色(NVIDIA CSAA就是類似的原理),其實這一代NVIDIA和ATI就已經在朝這個方向努力了,而NVIDIA CSAA或ATI CFAA的效果也不錯(先不提CFAA有潛在的效能問題),兩邊應該會繼續保留到下一代GPU。
所以DX10.1是什麼?
1.DX10的小更新,真的很小。
2.對GPU支援特色更嚴格要求的DX10。
3.畫質更好的DX10(必須由遊戲控制)。
4.效能稍好的DX10(限特定情況)
5.需要Vista SP1的DX10(.....)。
我絕不懷疑兩邊一定會出DX10.1的GPU,因為NVIDIA和ATI整天都在嘴砲,而DX10.1是最好的口水戰題材,誰敢不支援,誰就等著被對方釘到十字架上。但這是否會是買卡的必要條件?我認為不是,因為現在DX10遊戲都還有超大的改進空間,有多大?大概還有三四年這麼大,DX10卡已經是少量,DX10.1一定會是少量中的少量,而上面的改變我覺得不足以驅使遊戲去支援(有也是極少量)。
第三個改變可讓遊戲用Shader自己「寫」反鋸齒機制,但新式反鋸齒是很複雜演算法,遊戲廠商自己投入資源做開發怎麼看都不划算,尤其NVIDIA和ATI都已經在DX10的標準下做到類似的機制,套用GPU廠商所做的又快又好。
最後,一定會有人想到DirectX 9.0c,第一個DX9.0c的GPU是GeForce 6,2004年推出,Windows XP SP2在同年更新加入DX9.0c,但直到一年後才有「一款」DX9.0c的遊戲出現。Vista SP1預計是今年底或明年初。比照相同的速度的話,我覺得真的沒必要去等DX10.1的GPU或遊戲,有需要的話就買,有多少預算就買,反正什麼時候買都不划算,因為就像最前面說的,一年後保証落伍,兩年後前代卡神就不到新一代中階卡的效能。
參考資料:
微軟DirectX 10.1的簡報:http://download.microsoft.com/download/5/b/9/5b97017b-e28a-4bae-ba48-174cf47d23cd/PRI022_WH06.ppt


