自NVIDIA ForceWare 177.39驅(qū)動中的PhysX 8.06.12版驅(qū)動程序支持物理加速以來,大幅提升3DMark Vantage的得分,引起用戶的廣泛關(guān)注。隨后NVIDIA開始力推PhysX物理加速技術(shù),以物理加速的優(yōu)勢來和ATi紅透半邊天的性價比之王HD4850相抗衡。那么物理加速技術(shù)到底能夠為游戲帶來什么改進(jìn),以及對顯卡有什么附加的要求呢?且聽本文為你慢慢道來。
3D更真實,物理計算貼近現(xiàn)實
從2D到3D,對游戲畫面而言是一次質(zhì)的飛躍,游戲畫面首次更加接近真實,畫面更加精美,給游戲玩家?guī)淼牟粌H僅只有震撼,更是一種全新的游戲體驗,首片3D加速卡3Dfx Voodoo想必讓不少資深玩家懷念不已。隨著3D顯示技術(shù)的發(fā)展,電影級的CG效果讓游戲畫面更上一層樓,不過對于3D游戲而言,盡管細(xì)節(jié)可以做到惟妙惟肖,例如一片樹葉,可以事先從葉脈到邊緣鋸齒,甚至葉片上的水滴都做到接近真實,但這都是事先建好的場景模型,所有的物體都只是貼圖而已。樹上的葉片不會迎風(fēng)拂動或者只會生硬地拂動;小草被坦克壓過仍然“倔強(qiáng)”地挺立;任由槍炮子彈轟炸的木板墻永遠(yuǎn)都屹立不倒,毫發(fā)無傷。諸如此類的現(xiàn)象在游戲中司空見慣,3D場景雖然長得非常漂亮了,但物體表現(xiàn)卻與現(xiàn)實完全不同,3D加速技術(shù)只是與現(xiàn)實“長得很像”而已。
隨著Ageia在2006年推出PPU及物理加速引擎創(chuàng)造物理加速先河,物理加速概念被廣大游戲玩家熟知,有了物理加速,在3D游戲和應(yīng)用中就可以看到更多真實的物理運算過程,例如山石滾落、爆炸、水流等場景,物體都將遵循真實的軌跡運行。在游戲中實現(xiàn)物理定律的還原是相當(dāng)復(fù)雜的,因為在游戲世界的物體都是虛擬的,設(shè)計時要為它附上質(zhì)量、材料、密度等屬性。就以簡單的碰撞為例吧,同樣是碰撞,由于材料的不同,同樣速度的物體碰撞后的結(jié)果并不相同,這帶來的好處是3D環(huán)境中的事物將無比真實,運動方式將遵循物理定律而不是按事先指定好的一種或者多種方式進(jìn)行??梢哉f,物理運算的加入,讓3D世界更接近真正的世界。遺憾的是,Ageia雖然聯(lián)合華碩、BFG推出物理加速卡,不過由于當(dāng)年支持物理加速的游戲甚少,并且物理加速卡價格不菲,上千元的售價已經(jīng)足以購買一片中高端顯卡,導(dǎo)致物理加速并未成為主流產(chǎn)品,而陷入運營困境,直到被NVIDIA收購。
PhysX物理加速在NV手中“重生”
今年2月,NVIDIA收購了物理加速處理器廠商Ageia,將其旗下PhysX物理引擎進(jìn)行整合,讓NVIDIA的GPU支持物理運算引擎,在NVIDIA的ForceWare 177.39中,整合了PhysX 8.06.12版驅(qū)動,支持9800GT/GTX/GTX+/GX2以及GTX280/260等顯卡進(jìn)行物理計算。Ageia在被收購后,雖然PPU (物理運算處理器) 已經(jīng)夭折,不過PhysX物理引擎卻獲得重生。至此,Intel收購了Havok擁有了自己的物理加速技術(shù),而NVIDIA也憑借PhysX引擎,支持物理加速。
我們再來看看NVIDIA PhysX對物理加速的實現(xiàn)方法。它實際上拋棄了PPU,而是采用通用計算技術(shù),讓GPU來運行物理加速所需的計算。而對于物理計算來說,GPU的設(shè)計結(jié)構(gòu)最適合其運算,因為一顆典型的GPU從結(jié)構(gòu)的角度來說是一顆目的性非常明確的并行處理器,大量的Shader核心,超高的浮點運算能力,天生就適合并行運算。也就是如果用CPU進(jìn)行復(fù)雜的物理運算的話,性能將比GPU運行同樣的物理運算要差得多。GPU能做量大但不復(fù)雜的工作,而CPU擅長復(fù)雜運算但并行大量運算性能較差。而最新的PhysX 8.09.04 WHQL版,則提供了對NVIDIA GeForce全系列顯卡的支持,讓用戶的中低端顯卡也能夠支持物理加速。
PhysX還是Havok,物理加速的標(biāo)準(zhǔn)之爭
現(xiàn)階段物理加速的游戲已經(jīng)多達(dá)150余款,并且有越來越多的游戲宣布開始支持物理加速功能。目前支持物理加速的游戲分別支持Havok和PhysX物理加速引擎,由于采用物理加速引擎的不同,支持的硬件也有所不同。例如NVIDIA的PhysX物理加速引擎,就只能通過NVIDIA顯卡的驅(qū)動進(jìn)行支持。另外被普遍采用的一種物理加速引擎則是被Intel收購的Havok,目前被《Half-Life 2》、《榮譽(yù)勛章》、《帝國時代》、《F.E.A.R》、《分裂細(xì)胞》、《上古卷軸》等等大作在內(nèi)的100多款游戲采用,XBOX360也是采用Havok引擎。不過和NVIDIA采用GPU進(jìn)行物理加速運算不同,Intel借助多核心CPU的潛在運算能力來執(zhí)行物理加速運算,將CPU作為PPU(物理處理器)來使用。如此一來,未來計算機(jī)處理物理運算時,只要處理器性能足夠強(qiáng)大,就能實現(xiàn)物理加速。但是現(xiàn)在CPU在處理物理運算的時候性能依然不理想,即便是現(xiàn)在最頂級處理器,也只能同時模擬幾十個具有大致物理特征的物體。要想成功,CPU-PPU之路任重而道遠(yuǎn)。
另一顯卡巨頭ATi,雖然在2006年就成功讓顯卡運行了物理運算的DEMO,采用的是Havok引擎并且速度很快,不過由于Havok被Intel收購,而NVIDIA則收購了Ageia,ATi在物理加速上沒有自身的標(biāo)準(zhǔn),RV770也使用Havok物理加速引擎。而Intel為了擴(kuò)大物理加速市場,宣布將Havok引擎免費開放,將獲得更多的游戲廠商支持。因此,未來物理加速市場,將是Havok和PhysX的戰(zhàn)場。
DX11也將支持物理加速
除了Havok和PhysX針鋒相對之外,微軟明年推出的下一代3D API DirectX 11也將支持物理加速計算——Compute Shader支持,不過讓NVIDIA尷尬的是,DirectX11將不支持PhysX,而對Havok,微軟沒有明確表示支持或者不支持,但根據(jù)Havok的加速原理是使用處理器進(jìn)行物理運算,DirectX 11或許會支持英特爾的Havok物理加速。而如果是支持Havok的話,那么英特爾和AMD的顯示卡將獲得巨大的效率提升。因此未來雖然或許會有公司推出支持PhysX API的應(yīng)用,但估計大部分程序員還是喜歡使用微軟提供的API接口來實現(xiàn)物理加速。
也就是說,到明年用戶可能面臨兩種物理加速的解決方案,一種是DirectX 11的Compute Shader,而另一種則是NVIDIA的PhysX。不過微軟DirectX11能否得到游戲廠商的廣泛支持,將是游戲廠商和NVIDIA無法逾越的一道墻。
目前不宜盲目追求物理加速
不容置疑的是,物理加速將成為提升3D游戲真實感的一個大趨勢,未來越來越多的游戲都將支持物理加速。但是就目前的現(xiàn)狀而言,雖然NVIDIA新版的物理驅(qū)動將物理加速的支持顯卡方位擴(kuò)充到全部8系列和9系列顯卡,但是對于中低端DirectX 10顯卡而言,目前在游戲中亟需解決的還是速度問題,而不是利用顯卡的額外計算來提升游戲的真實性。畢竟現(xiàn)在很多中低端顯卡,對于大多數(shù)DirextX 10游戲不能完全勝任,再進(jìn)行額外的物理運算,性能讓人擔(dān)憂。相比之下,利用高端顯卡剩余的運算能力進(jìn)行物理加速,能夠為用戶提供更好的游戲真實感,是一件讓人興奮的事情。但是目前用戶也不宜盲目追求物理加速,畢竟現(xiàn)在支持物理加速的游戲的比例較低,并且標(biāo)準(zhǔn)尚未確定,為了物理加速而升級顯卡并不可取。建議用戶不妨等待DirectX 11塵埃落地,到時候物理加速成為3D API的一個標(biāo)準(zhǔn),估計會有更多支持物理加速的游戲涌現(xiàn)。