PhysX,是一套由AGEIA公司開發(fā)的物理運(yùn)算引擎,簡(jiǎn)而言之,就是令虛擬世界中的物體運(yùn)動(dòng)符合真實(shí)世界的物理定律,以使游戲更加富有真實(shí)感。PhysX可以由CPU計(jì)算,但其程序本身在設(shè)計(jì)上還可以調(diào)用獨(dú)立的浮點(diǎn)處理器(例如GPU和PPU)來(lái)計(jì)算,也正因?yàn)槿绱耍梢暂p松完成像流體力學(xué)模擬那樣的大計(jì)算量的物理模擬計(jì)算。 PhysX物理引擎可以在包括Windows,Linux,Xbox360,Playstation3,Mac等在內(nèi)的全平臺(tái)上運(yùn)行。
AGEIA時(shí)代的PhysX
PhysX物理運(yùn)算引擎由五名年輕的技術(shù)人員開發(fā),他們成立了AGEIA公司。由于PhysX物理引擎在設(shè)計(jì)上就并不適合用CPU去計(jì)算,因此AGEIA公司還為PhysX引擎設(shè)計(jì)了專門的運(yùn)算硬件,PhysX物理加速卡。PhysX物理加速卡的核心被稱為PPU,即物理處理器(Physics processing Unit)。PPU在AGEIA公司被nVIDIA公司收購(gòu)后已停止生產(chǎn)。
nVIDIA時(shí)代的PhysX
2008年,Nvidia收購(gòu)了AGEIA。正式將PhysX技術(shù)劃入旗下。nVIDIA PhysX承襲自AGEIA PhysX,但Nvidia在此基礎(chǔ)上推出了nVIDIA PhysX物理加速,并將PhysX物理加速功能移植到nVIDIA GPU中,用戶不必額外購(gòu)買PhysX物理加速卡就能享受到PhysX物理加速功能。借助CUDA架構(gòu),nVIDIA重新編寫了PhysX物理加速程序,將PhysX物理加速引擎從AGEIA PPU移植到了nVIDIA GPU上。
所謂PhysX物理加速,是指相對(duì)于CPU來(lái)講,GPU加快了PhysX物理引擎的計(jì)算速度。并不是說(shuō)PhysX引擎只能由nVIDIA GPU處理。
nVIDIA劣化CPU執(zhí)行PhysX效率
如果使用CPU處理PhysX時(shí),PhysX引擎只會(huì)調(diào)用CPU單線程計(jì)算。RealWorld Technologies網(wǎng)站的作者David Kanter使用Intel的VTune進(jìn)程查看工具分析了多款支持PhysX特效的游戲,發(fā)現(xiàn)當(dāng)這些游戲使用CPU處理物理特效時(shí),大部分的代碼使用的仍然是老舊的x87浮點(diǎn)算數(shù)指令,而不是效率高得多的SSE指令(SSE指令的完成同樣任務(wù)的速度能達(dá)到x87指令的1.5-2倍)。
目前為止,在全平臺(tái)上(PC,Xbox,Playstation)共有約260種游戲采用了PhysX引擎。其中在PC平臺(tái)上,共有226種游戲采用PhysX引擎(截止2011.7.26)。
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選