PhysX技術

基本介紹

  • 中文名:PhysX物理運算引擎
  • 外文名:PhysX technoligy
  • 套用平台:nVIDIA
PhysX概述,AGEIA時代的PhysX,PhysX物理加速卡(PPU),A-N混合交火,

PhysX概述

物理運算引擎的作用,簡而言之,就是令虛擬世界中的物體運動符合真實世界的物理定律,以使遊戲更加富有真實感。 物理模擬計算需要非常強大的整數和浮點計算能力。更為重要的是,物理處理具有高度的並行性,需要多執行緒計算,演算非常複雜,需要消耗很多資源。 PhysX可以由CPU計算,但其程式本身在設計上還可以調用獨立的浮點處理器(例如GPU和PPU)來計算,也正因為如此,它可以輕鬆完成像流體力學模擬那樣的大計算量的物理模擬計算。 PhysX物理引擎可以在包括Windows,Linux,Xbox360,Playstation3,Mac等在內的全平台上運行。 AGEIA公司後來被Nvidia收購,PhysX引擎也就跟隨劃入Nvidia旗下。 2010年5月,AGEIA公司創始人、Nvidia主管PhysX技術副總裁Manju Hegde跳槽至AMD公司。外界猜測其跳槽原因是AGEIA被Nvidia收購後,PhysX並沒有得到良好的發展。

AGEIA時代的PhysX

PhysX物理運算引擎由五名年輕的技術人員開發,他們成立了AGEIA公司。PhysX最初稱為NovodeX,
後改名為PhysX。
AGEIA曾為《虛幻競技場3》開發幾張加入PhysX引擎的MOD地圖,物理效果非常出色。同時
AGEIA也自己開發一個免費的名為《好戰者》的物理遊戲。此後的一些PhysX遊戲,也大都基於虛幻
3引擎。例如《鏡之邊緣》、《蝙蝠俠:阿卡姆瘋人院》、《一舞成名》等。可以說虛幻3引擎與
PhysX物理引擎已經成了一對黃金搭檔。
[虛幻競技場3 PhysX地圖包]
虛幻競技場3 PhysX地圖包
AGEIA提供一流的PhysX軟體開發包AGEIA PhysX SDK,它不僅可以套用於次世代PC遊戲開發,還可
套用在Console遊戲開發中。AGEIA聲稱,PhysX 將會使設計師在開發遊戲的過程中使用複雜的物理
效果而不需要像以往那樣耗費漫長的時間開發一套新的物理引擎,而且使用了物理引擎還會大量消
耗CPU資源使一些配置較低的電腦無法流暢運行。AGEIA 更宣稱 PhysX 執行物理運算的效率比CPU
與物理處理軟體的組合高出 100 倍。遊戲設計語言 Dark Basic Pro 將會支持 PhysX,並允許其
用戶利用 PhysX 執行物理運算。

PhysX物理加速卡(PPU)

BFG生產的PhysX物理加速卡
由於PhysX物理引擎在設計上就並不適合用CPU去計算,因此AGEIA公司還為PhysX引擎設計了專門的
運算硬體,PhysX物理加速卡。PhysX物理加速卡的核心被稱為PPU,即物理處理器(Physics
processing Unit)。
PhysX物理加速卡在運行遊戲時不參與任何3D渲染,只計算PhysX引擎。按照AGEIA當初的構想
,未來的個人電腦將由CPU、GPU、PPU三大核心構成。其中CPU居中調度,GPU負責圖形渲染,PPU則
做物理計算。
AGEIA當初構想的未來PC組成
2006年,AGEIA公司發布了第一張PhysX物理加速卡,稱為PhysX 100 Series。公版設計為搭載
128MB GDDR3顯存,採用PCI接口。生產PhysX 100 Series的包括華碩和BFG,其中華碩的PhysX物理
加速卡搭載了256MB GDDR3顯存。
後來,AGEIA公司又開發了第二代PhysX物理加速卡,稱為PhysX 200 Series,與第一代產品最
大的不同在於採用了PCI-E插槽,增強了數據交換能力。
AGEIA公司被Nvidia收購後,PhysX物理加速卡停止了開發。但有評測表明,PhysX 100 Series
的PhysX物理計算能力,超過了Geforce 9600GT,至少與Geforce 9800GT相當。[1]可見PhysX物理
加速卡在設計思路上是非常成功的。
基於PhysX SDK 2.8.1及其以下版本開發的遊戲都支持AGEIA PhysX物理加速卡。需要說明的是
,部分基於PhysX SDK 2.8.1開發的遊戲是被人為禁止物理加速卡而造成物理加速卡無法工作的,
例如《一舞成名》和《蝙蝠俠:阿卡姆瘋人院》,這種情況是可以通過修改驅動破解的。但是基於
PhysX SDK 2.8.3及其以上版本、基於PhysX APEX開發的遊戲就無法支持AGEIA PhysX物理加速卡
編輯本段
nVIDIA時代的PhysX
1.nVIDIA PhysX物理加速技術
2008年,在Intel收購了物理引擎界的領軍者Havok後,Nvidia也收購了排名第二的AGEIA。正
式將PhysX技術劃入旗下。
PhysX by Nvidia
nVIDIA PhysX承襲自AGEIA PhysX,但Nvidia在此基礎上推出了nVIDIA PhysX物理加速,並將PhysX
物理加速功能移植到nVIDIA GPU中,用戶不必額外購買PhysX物理加速卡就能享受到PhysX物理加速
功能。藉助CUDA架構,nVIDIA重新編寫了PhysX物理加速程式,將PhysX物理加速引擎從AGEIA PPU
移植到了nVIDIA GPU上。
通過重新編寫程式,nVIDIA GPU中的執行緒調度器將承擔原來PPU中“控制引擎”的工作,即負
責具體任務的指派工作;流處理器將承擔原來PPU中“矢量處理引擎”的工作,即負責物理計算;
在物理計算完成後,由DME來負責輸出;而後,GPU再通過硬體抽象層實現布料模擬、毛髮模擬、碰
撞偵測、流體力學等物理技術。簡而言之,就是利用CUDA,將PhysX引擎中的計算指令,翻譯給GPU
,讓GPU去計算。這樣做是因為GPU具有優秀的浮點計算能力和並行處理能力。[2]
通過這種方法,Nvidia Geforce 8系列,9系列,GT200系列,GT300系列,GT400系列桌面顯示卡
;Geforce 8M系列,9M系列,GT100M系列,GT200M系列,GT300M系列,GT400M系列移動版顯示卡,只
要流處理器大於32個且顯存大於256MB,都可以支持PhysX物理引擎的計算,也就是支持PhysX物理
加速。
所謂PhysX物理加速,是指相對於CPU來講,GPU加快了PhysX物理引擎的計算速度。並不是說
PhysX引擎只能由nVIDIA GPU處理。

A-N混合交火

使用AMD顯示卡執行圖形渲染、輔以NVIDIA顯示卡進行PhysX物理加速是個很不錯的方案,不過NVIDIA在
新驅動中封殺了這種做法,會自動禁用PhysX。
由HD5970和GTX480組成的最強A/N混合交火
不過人民民眾的智慧是無窮的,破解補丁已然出爐,來自一位名叫“Liandri / THETA”的國外高
手。根據說明檔案,該補丁可以在使用非N卡作為系統主顯示卡的時候開啟N卡的物理加速,但是僅限
Windows 7作業系統(WDDM 1.1),而且不能讓單獨一塊AMD顯示卡支持PhysX。
但Nvidia表示,他們沒有測試過A-N混合交火的穩定性,最這種破解帶來的一切後果,將由用
戶自行承擔。
Liandri / THETA還大聲疾呼:不要讓私有封閉標準為你選擇硬體!一旦它們滅亡,這些硬體
就會成為廢物。

相關詞條

熱門詞條

聯絡我們