PhysX - PhysX

PhysX
NVIDIA PhysX logó.png
Eredeti szerző (k) NovodeX AG ( ETH Zürich )
Fejlesztő (k) Nvidia Corporation
(2008-tól napjainkig)
Ageia
(2004-2008)
NovodeX AG
(2001-2004)
Stabil kiadás
9.21.0713 / 2021. október 12. ( 2021-10-12 )
Adattár https://github.com/NVIDIAGameWorks/PhysX
Operációs rendszer Microsoft Windows , macOS , Linux , PlayStation 2 , PlayStation 3 , PlayStation 4 , Xbox 360 , Xbox One , Wii , iOS , Android
típus Fizikai szimuláció
Engedély BSD-3
Weboldal Nvidia PhysX fejlesztői webhely

A PhysX egy nyílt forráskódú, valós idejű fizika motoros köztes szoftver SDK, amelyet az Nvidia fejlesztett ki az Nvidia GameWorks szoftvercsomag részeként .

Kezdetben videojátékok támogatja a PhysX szánták kell gyorsítani a PhysX PPU ( bővítőkártyák által tervezett Ageia ). Azonban, miután Ageia megszerzése Nvidia dedikált PhysX kártya már megszűnt javára API lény fut CUDA -képes GeForce GPU . Mindkét esetben a hardveres gyorsítás lehetővé tette a fizika számításainak a CPU -ból való letöltését , lehetővé téve, hogy más feladatokat végezzen.

A PhysX és más köztes szoftveres fizikai motorokat a mai videojátékok nagy többségében használják, mert mentesítik a játékfejlesztőket attól, hogy saját kódot írjanak, amely a klasszikus mechanikát (newtoni fizika) valósítja meg , például a puha testdinamika érdekében .

Történelem

A ma PhysX néven ismert NovodeX nevű fizika szimulációs motor. A motort a svájci NovodeX AG, az ETH Zürich spin-off cég fejlesztette ki. 2004 -ben az Ageia felvásárolta a NovodeX AG -t, és megkezdte a hardver technológia kifejlesztését, amely felgyorsíthatja a fizikai számításokat, segítve a CPU -t. Az Ageia a technológiát PhysX -nek nevezte, az SDK -t átnevezték NovodeX -ről PhysX -re, a gyorsító kártyákat pedig PPU -nak (Physics Processing Units) nevezték el.

Az első játék, amely a PhysX -et használta, a Bet On Soldier: Blood Sport (2005) volt.

2008 -ban az Ageiát megvásárolta az Nvidia grafikai technológia gyártó. Az Nvidia megkezdte a PhysX hardveres gyorsítás engedélyezését GeForce grafikus kártyáin, és végül megszüntette az Ageia PPU -k támogatását.

A PhysX SDK 3.0 2011 májusában jelent meg, és az SDK jelentős átírását jelentette, olyan fejlesztésekkel, mint például a hatékonyabb többszálas és egységes kódbázis minden támogatott platform számára.

A 2015 -ös GDC -n az Nvidia elérhetővé tette a PhysX forráskódját a GitHub -on , de regisztrációt igényelt a developer.nvidia.com oldalon. A szabadalmaztatott SDK-t ingyenesen bocsátották a fejlesztők rendelkezésére kereskedelmi és nem kereskedelmi célokra Windows , Linux , macOS , iOS és Android platformokon.

2018. december 3-án a PhysX nyílt forráskódúvá vált egy 3 záradékos BSD licenc alapján , de ez a változás csak a számítógépes és mobil platformokra vonatkozott.

A PhysX 5.0-t 2019 decemberében jelentették be, de a COVID-19 járvány miatt nem hozták nyilvánosságra .

Jellemzők

A PhysX motor és az SDK elérhető Microsoft Windows, macOS, Linux, PlayStation 3 , PlayStation 4 , Xbox 360 , Xbox One , Wii , iOS és Android rendszerekhez.

A PhysX egy többszálú fizika szimulációs SDK. Ez támogat merev test dinamika , lágy test dinamika (mint a szövet szimuláció , beleértve a könnyezés és nyomás ruhával), ragdolls és karakter vezérlők, jármű dinamikáját, részecskék és térfogati folyadék szimuláció.

Hardveres gyorsítás

Fizikai szintek összehasonlítása a Maffia II -ben.
(PC) A felső képernyőképen látható, hogyan szimulálják a törmeléket a Mafia II -ben, amikor a PhysX a legmagasabb szintre van állítva a játék beállításaiban. Az alsó képernyőképen hasonló jelenet látható a PhysX legalacsonyabb szintjére állítva.

PPU

A fizikafeldolgozó egység (PPU) olyan processzor, amelyet kifejezetten a CPU számítási terheinek enyhítésére terveztek, különösen a fizikát érintő számításokhoz. A PhysX PPU -kat PCI vagy PCIe kártyák formájában kínálták a fogyasztóknak az ASUS , a BFG Technologies , a Dell és az ELSA Technology .

A PhysX SDK 2.8.3 -as verziójától kezdve megszűnt a PPU -kártyák támogatása, és a PPU -kártyákat már nem gyártják. Az Ageia által tervezett PhysX PPU önálló kártya utolsó inkarnációja nagyjából ugyanolyan PhysX teljesítményű volt, mint egy dedikált 9800GTX.

GPU

Miután az Nvidia felvásárolta az Ageia -t, a PhysX fejlesztése elfordult a PPU -bővítőkártyáktól, és inkább a modern GPU -k GPGPU -képességeire összpontosított .

A modern GPU-k nagyon hatékonyak a számítógépes grafika manipulálásában és megjelenítésében, és rendkívül párhuzamos felépítésük hatékonyabbá teszi őket, mint az általános célú CPU-k a fizikai szimulációk gyorsítására a PhysX segítségével.

Bármely CUDA -kész GeForce grafikus kártya (8 -as vagy újabb GPU, legalább 32 maggal és legalább 256 MB dedikált grafikus memóriával) kihasználhatja a PhysX előnyeit, anélkül, hogy telepítenie kellene egy külön PhysX kártyát.

CSÚCS

Az Nvidia APEX technológia egy többplatformos skálázható dinamikai keretrendszer, amely a PhysX SDK köré épül. 2010 augusztusában mutatták be először a Mafia II -ben.

Az 1.4.1 verziótól kezdve az APEX SDK elavult.

Nvidia FleX

A FleX részecske alapú szimulációs technika valós idejű vizuális effektekhez. Hagyományosan a vizuális effekteket olyan elemek kombinációjával készítik el, amelyek speciális megoldókkal készültek merev testekhez, folyadékokhoz, ruházathoz stb. zökkenőmentesen. Az ilyen egységes fizikamegoldók az offline számítógépes grafika világának alapvető elemei , ahol széles körben használják az olyan eszközöket, mint az Autodesk Maya nCloth és a Softimage Lagoa. A FleX célja, hogy a GPU-k erejét felhasználva valósítsa meg ezen offline alkalmazások képességeit a valós idejű számítógépes grafikában.

Kritika a Real World Technologies részéről

2010. július 5 -én a Real World Technologies közzétette a PhysX architektúra elemzését. Ezen elemzés szerint az akkoriban a PhysX alkalmazásokban használt legtöbb kód x87 utasításokon alapult, többszálú optimalizálás nélkül. Ez jelentős teljesítménycsökkenést okozhat, ha PhysX kódot futtat a CPU -n. A cikk azt sugallta, hogy az SSE utasításokat használó PhysX -átírás jelentősen csökkentheti a CPU PhysX és a GPU PhysX teljesítménybeli eltérését.

A Real World Technologies elemzésére válaszul Mike Skolones, a PhysX termékmenedzsere elmondta, hogy az SSE támogatást elhagyták, mert a legtöbb játékot először konzolokra fejlesztették, majd átvitték a PC -re. Ennek eredményeképpen a modern számítógépek gyorsabban és jobban futtatják ezeket a játékokat, mint a konzolok, még akkor is, ha kevés optimalizálás van. Az Nvidia vezető PR-menedzsere, Bryan Del Rizzo elmagyarázta, hogy a többszálas szálazás már rendelkezésre állt a CPU PhysX 2.x rendszerben, és a fejlesztő feladata volt használni. Azt is kijelentette, hogy az automatikus többszálú és SSE bevezetésre kerül a PhysX SDK 3. verziójával.

A PhysX SDK 3.0 2011 májusában jelent meg, és az SDK jelentős átírását jelentette, olyan fejlesztésekkel, mint például a hatékonyabb többszálas és egységes kódbázis minden támogatott platform számára.

Használat

PhysX videojátékokban

A PhysX technológiát olyan játékmotorok használják, mint az Unreal Engine (3 -as verzió ), Unity , Gamebryo , Vision (6 -os verzió), Instinct Engine, Panda3D , Diesel , Torque , HeroEngine és BigWorld .

A maroknyi nagy fizikai motor egyikeként számos játékban használják, mint például a The Witcher 3: Wild Hunt , Warframe , Killing Floor 2 , Fallout 4 , Batman: Arkham Knight , Borderlands 2 , stb. a processzor a fizikai szimulációk feldolgozásához.

A videojátékok, amelyek opcionálisan támogatják a hardveresen gyorsított PhysX-et, gyakran tartalmaznak olyan további effektusokat, mint a téphető kendő, dinamikus füst vagy szimulált részecsketörmelék.

PhysX más szoftverekben

A PhysX támogatással rendelkező egyéb szoftverek a következők:

Lásd még

Hivatkozások

Külső linkek