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