PhysX

PhysX
PhysX
Nvidia physx official logo.png
Developer(s) Nvidia Corporation
Stable release 9.11.0621 / October 24, 2010; 12 months ago (2010-10-24)
Operating system Windows 7, Windows Vista, Windows XP, Mac OS X, Linux (not GPU accelerated), Wii, PlayStation 3, Xbox 360
Type Physics simulation
License Proprietary, Commercial
Website Nvidia PhysX developer site

PhysX is a proprietary realtime physics engine middleware SDK developed by Ageia (which itself was acquired by Nvidia in February 2008[1]) with the purchase of ETH Zurich spin-off NovodeX in 2004. The term PhysX can also refer to the PPU expansion card designed by Ageia to accelerate PhysX-enabled video games.

Video games supporting hardware acceleration by PhysX can be accelerated by either a PhysX PPU or a CUDA-enabled GeForce GPU (if it has at least 32 CUDA cores), thus offloading physics calculations from the CPU, allowing it to perform other tasks instead. This typically results in a smoother gaming experience and additional visual effects.

Middleware physics engines allow game developers to avoid writing their own code to handle the complex physics interactions possible in modern games. PhysX has provided physical simulation for more than 300 games.[2]

The PhysX engine and SDK are available for the following platforms: Microsoft Windows, Mac OS X, Linux, PlayStation 3,[3][4] Xbox 360[5] and Wii.[6] The PhysX SDK is provided to developers of all platforms for free, both for commercial and non-commercial use.[7]

Contents

History of PhysX

What is known today as PhysX originated as a physics simulation engine called NovodeX. The multi-threaded engine was developed by Swiss company NovodeX AG. In 2004, Ageia acquired NovodeX AG and began developing a hardware technology that could accelerate physics calculations, aiding the CPU. Ageia called the technology PhysX PPU (physics processing unit), and the SDK was renamed from NovodeX to PhysX.[8]

In 2008, Ageia was itself acquired by graphics technology manufacturer Nvidia. Nvidia started enabling PhysX hardware acceleration on its line of GeForce graphics cards[9] and eventually dropped support for Ageia PPUs.[10]

Features of PhysX

PhysX is a multi-threaded physics simulation SDK available for Microsoft Windows, Mac OS X, Linux, PlayStation 3, Xbox 360 and Wii. It supports rigid body dynamics, soft body dynamics, ragdolls and character controllers, vehicle dynamics, volumetric fluid simulation and cloth simulation including tearing and pressurized cloth.

APEX PhysX

Nvidia APEX technology is a multi-platform scalable dynamics framework first introduced in the Mafia II video game in August 2010.[11] Nvidia's APEX engine comprises the following features: APEX Destruction, APEX Clothing, APEX Particles, APEX Vegetation, and APEX Turbulence.[12]

Hardware acceleration

PPU

Comparison of physics levels in Mafia II.
The top screenshot shows how debris is simulated in Mafia II when PhysX is turned to the highest level in the game settings. The bottom screenshot shows a similar scene with PhysX turned to the lowest level.

A physics processing unit (PPU) is a processor specially designed to alleviate the calculation burden on the CPU, specifically calculations involving physics. PPU cards with PhysX support were available from the manufacturers ASUS, BFG Technologies[13] and ELSA Technology. Beginning with version 2.8.3 of the PhysX SDK, support for PPU cards was dropped, and PPU cards are no longer manufactured.[10]

GPU

After Nvidia's acquisition of Ageia, PhysX development turned away from PPU extension cards and focused instead on the GPGPU capabilities of modern GPUs. A graphics processing unit or GPU (also occasionally called visual processing unit or VPU) is a dedicated graphics rendering device for a personal computer, workstation or game console. Modern GPUs are very efficient at manipulating and displaying computer graphics, and their highly parallel structure makes them more effective than general-purpose CPUs for a range of complex algorithms, such as accelerating physical simulations using PhysX. A GPU can sit on top of a video card, or it can be integrated directly into the motherboard. More than 90% of new desktop and notebook computers have integrated GPUs.

Any CUDA-ready GeForce graphics card (series 8 and newer, with a minimum of 32 cores and 256MB of video memory[14]) can take advantage of PhysX without the need to install a dedicated PhysX card.

Versions 186 and newer of the ForceWare drivers disable PhysX hardware acceleration if a GPU from a different manufacturer, such as AMD, is present in the system.[14] Representatives at Nvidia stated to customers that the decision was made due to development expenses, and for quality assurance and business reasons.[15] This decision has caused a backlash from the community that led to the creation of a community patch for Windows 7, circumventing the GPU check in Nvidia's updated drivers. To counter this patch, Nvidia implemented a time bomb in driver versions 196 and 197 that slowed down hardware accelerated PhysX and reversed the gravity,[16], but an updated version of the patch removed all unwanted effects.[17]

Real World Technologies analysis

On 5 July 2010, Real World Technologies published an analysis[18] of the PhysX architecture. According to this analysis, most of the code used in PhysX applications is based on x87 instructions without any multi-threading optimization. This could cause significant performance drops when running PhysX code on the CPU. The article suggests that a PhysX rewrite using SSE instructions may substantially lessen the performance discrepancy between CPU PhysX and GPU PhysX.

In response to the Real World Technologies analysis, Mike Skolones, product manager of PhysX, said[19] that SSE support had been left behind because most games are developed for consoles first and then ported to the PC. As a result, modern computers run these games faster and better than the consoles even with little or no optimization. Senior PR manager of Nvidia, Bryan Del Rizzo, explained that multi-threading was already available with CPU PhysX 2.x and that it was up to the developer to make use of it. He also stated that automatic multithreading and SSE would be introduced with version 3 of the PhysX SDK.[20]

PhysX SDK 3.0 was released in May 2011 and represented a significant rewrite of the SDK, bringing improvements such as more efficient multithreading and a unified code base for all supported platforms.[2]

Use

PhysX in video games

PhysX technology is used by the game engines Unreal Engine 3, Unity 3D, Gamebryo, Vision, Instinct, Diesel, Torque, Hero and BigWorld[21] and is the physics platform of more than 300 video games,[2] such as Bulletstorm, Need for Speed: Shift or Castlevania: Lords of Shadow. Most of these games use the CPU to process the physics simulations.

Video games with optional support for hardware accelerated PhysX, often with additional effects such as tearable cloth, dynamic smoke or simulated particle debris,[22][23][24] include:[25]

PC games supporting hardware accelerated PhysX
GAME TITLE Release Type of acceleration DirectX PhysX effects
Alice: Madness Returns 2011-06-14 GPU 9 debris and particle simulation, destructible environments, fluid simulation
7554 2011-11-26 GPU 9 rigid body simulation, vehicle simulation, destructible environments, cloth simulation
Arma 3 (upcoming) 2012 TBA 11, 10
Auto Assault 2006-04-11 PPU 9 fluid simulation, improved destructibility of objects
Batman: Arkham Asylum 2009-09-15 GPU or PPU 9 dynamic fog and steam, dynamic tearable cloth and cobwebs, spark effects,

dynamic paper and leaves, additional rigid bodies, destructible environments

Batman: Arkham City (upcoming) 2011-11-08 GPU 11, 9[26] dynamic fog and steam, debris and particle effects,

destructible environments, cloth simulation

Bet on Soldier: Black-Out Saigon 2007-05-29 PPU  ?
Bet on Soldier: Blood of Sahara 2006-11-09 PPU 9
Bet on Soldier: Blood Sport 2005-09-26 PPU 9
CellFactor: Combat Training 2006-05-09 PPU 9
CellFactor: Revolution 2007-05-08 PPU  ? fluid simulation, cloth simulation
City of Villains 2005-10-28 PPU 9 additional levels
Crazy Machines 2 2007-10-15 GPU or PPU 9 fluid simulation
Cryostasis: Sleep of Reason 2008-12-05 GPU or PPU 10, 9 fluid simulation, particle physics, spark effects
Dark Void 2010-04-21 GPU 9 dynamic smoke, particle physics
Darkest of Days 2009-09-08 GPU 9 debris simulation, dynamic fog and smoke, dynamic leaves
Deep Black (upcoming) Dec 2011 GPU 9
Hot Dance Party 2008-03-31 GPU
Hot Dance Party II 2008-08-05 GPU
Infernal 2007-05-09 PPU 9
Jianxia 3 2011-05-19 GPU
Mafia II 2010-08-24 GPU 9 additional debris (up to 10,000 pieces at a time), dynamic cloth, dynamic smoke
Metal Knight Zero Online (upcoming) TBA GPU
Metro 2033 2010-03-16 GPU 11, 10, 9 debris simulation, dynamic smoke
Metro: Last Light (upcoming) 2012 GPU
Mirror's Edge 2009-01-13 GPU or PPU 9 debris and glass shard simulation, dynamic tearable cloth, spark effects,

dynamic fog and steam

MStar 2011-06-30 GPU 9
Sacred 2: Fallen Angel 2008-11-07 GPU 10, 9 particle physics, dynamic leaves and rocks
Sacred 2: Ice & Blood (expansion) 2009-10-02 GPU 10, 9 particle physics, dynamic leaves and rocks
Shadowgrounds Survivor 2007-11-14 PPU  ?
Star Trek DAC 2009-11-12 GPU debris simulation
Stoked Rider: Alaska Alien 2006-12-14 PPU 9 avalanche simulation
Switchball 2007-06-26 PPU  ? fluid simulation
Tom Clancy's Ghost Recon Advanced Warfighter 2006-05-03 PPU 9 debris simulation
Tom Clancy's Ghost Recon Advanced Warfighter 2 2007-06-28 GPU or PPU 9 debris simulation, dynamic tearable cloth, dynamic tree and plant simulation,

particle effects, additional level with destructible environments

Unreal Tournament 3 2007-11-19 GPU or PPU 9 additional levels
Warmonger: Operation Downtown Destruction[27] 2007-11-29 GPU or PPU destructible environments, dynamic tearable cloth, particle physics

PhysX in other software

Other software with PhysX support includes:

See also

References

  1. ^ "NVIDIA completes Acquisition of AGEIA Technologies" (Press release). NVIDIA Corporation. 2008-02-13. http://www.nvidia.com/object/io_1202895129984.html. Retrieved 2009-03-18. 
  2. ^ a b c "NVIDIA announces the release of PhysX SDK V3". Nvidia. http://developer.nvidia.com/physx-sdk-V30. Retrieved 2011-06-03. 
  3. ^ "Sony Computer Entertainment Enters Into Strategic Licensing Agreement With AGEIA" (PDF) (Press release). Sony Computer Entertainment, Inc.. 2005-07-21. http://www.scei.co.jp/corporate/release/pdf/050721be.pdf. Retrieved 2006-08-23. 
  4. ^ "Playstation 3 gets free PhysX from Nvidia". Kotaku. http://kotaku.com/5172843/playstation-3-gets-free-physx-from-nvidia. 
  5. ^ http://www.nvidia.com/object/nvidia_physx.html
  6. ^ http://www.gamasutra.com/php-bin/news_index.php?story=22812
  7. ^ "PhysX Downloads". Nvidia. http://developer.nvidia.com/physx-downloads. Retrieved 2011-06-08. 
  8. ^ César A. Berardini (2005-04-12). "AGEIA Technologies Interview". http://interviews.teamxbox.com/xbox/1117/AGEIA-Technologies-Interview/p1. Retrieved 2011-06-08. 
  9. ^ "PhysX For CUDA, Linux Support A Given?". Phoronix. Phoronix Media. 2008-02-14. http://www.phoronix.com/scan.php?page=news_item&px=NjMzNA. Retrieved 2008-02-14. 
  10. ^ a b "http://physxinfo.com/news/4697/how-to-restore-ppu-support-with-latest-physx-drivers/". http://physxinfo.com/news/4697/how-to-restore-ppu-support-with-latest-physx-drivers/. Retrieved 2011-06-08. 
  11. ^ Olin Coles. "Mafia-II Video Game Performance Review". BenchmarkReviews.com. http://benchmarkreviews.com/index.php?option=com_content&task=view&id=582&Itemid=64. Retrieved 2010-08-23. 
  12. ^ "APEX". http://developer.nvidia.com/apex. Retrieved 2011-06-08. 
  13. ^ http://www.bfgtech.com/news_8.31.05.html
  14. ^ a b http://www.nvidia.com/object/physx_faq.html
  15. ^ http://www.ngohq.com/graphic-cards/16223-nvidia-disables-physx-when-ati-card-is-present.html
  16. ^ http://www.geeks3d.com/20100422/hybrid-physx-patch-1-03-with-reverse-gravity-timebomb-fix/
  17. ^ http://www.ngohq.com/graphic-cards/17706-hybrid-physx-mod-v1-03-a.html
  18. ^ Real World Technologies - PhysX87: Software Deficiency
  19. ^ http://arstechnica.com/gaming/news/2010/07/did-nvidia-cripple-its-cpu-gaming-physics-library-to-spite-intel.ars
  20. ^ http://www.thinq.co.uk/2010/7/8/nvidia-were-not-hobbling-cpu-physx/
  21. ^ "PhysX FAQ". Nvidia. http://www.nvidia.com/object/physx_faq.html. Retrieved 2011-04-06. 
  22. ^ Matt Butrovich (2009-02-12). "A look at PhysX in Mirror's Edge". The Tech Report. http://techreport.com/articles.x/16392. Retrieved 2011-04-06. 
  23. ^ Rich Brown (2009-09-21). "Nvidia's PhysX makes PC Batman: Arkham Asylum worth the wait". cNET.com. http://news.cnet.com/8301-17938_105-10355716-1.html. Retrieved 2011-04-06. 
  24. ^ Matthew Murray (2010-09-02). "Mafia II: Is Applied PhysX Worth It?". ExtremeTech. http://www.extremetech.com/article2/0,2845,2368499,00.asp. Retrieved 2011-04-06. 
  25. ^ PhysX games
  26. ^ http://www.pcgameshardware.com/aid,846939/Batman-Arkham-City-Technical-advantages-of-the-PC-version-DX11-tessellation-and-more/News/
  27. ^ "PhysX Games List". nZone. Nvidia Corporation. http://www.nzone.com/object/nzone_physxgames_home.html. 
  28. ^ Jim Thacker (2011-03-01). "Videos: Autodesk reveals new features in Maya 2012". cgchannel.com. http://www.cgchannel.com/2011/03/videos-autodesk-reveals-new-features-in-maya-2012/. Retrieved 2011-04-06. 
  29. ^ "3ds Max 2012 and Maya 2012 adds PhysX support". Beyond3D.com. 2011-03-01. http://www.beyond3d.com/content/news/765. Retrieved 2011-04-06. 
  30. ^ Randall Hand (2010-05-05). "NVidia PhysX and CUDA in Softimage 2011". Vizworld.com. http://www.vizworld.com/2010/05/nvidia-physx-cuda-softimage-2011/. Retrieved 2011-04-06. 
  31. ^ "The Game Creators Integrate AGEIA PhysX Technology into DarkBASIC Professional" (Press release). The Game Creators. 2006-03-22. http://www.gamedev.net/community/forums/topic.asp?topic_id=382741. Retrieved 2006-09-23. 
  32. ^ "Overview". DX Studio. Worldweaver. http://www.dxstudio.com/features.aspx. Retrieved 2008-11-02. 
  33. ^ "AGEIA Joins Futuremark's 3DMark Benchmark Development Program". FindArticles. BusinessWire (CBS Interactive). 2006-09-27. http://findarticles.com/p/articles/mi_m0EIN/is_2006_Sept_27/ai_n16836909. Retrieved 2008-11-03. 
  34. ^ "Simulation Overview". Microsoft Robotics Developer Center. Microsoft. http://msdn2.microsoft.com/en-us/library/bb483076.aspx. 
  35. ^ Boeing, Adrian. "Engines". Physics Abstraction Layer. http://www.adrianboeing.com/pal/engines.html. Retrieved 2007-11-18. 

External links


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • Physx — bezeichnet einen speziellen Prozessor (Physikbeschleuniger, auch Physics Processing Unit oder kurz PPU) sowie die zugehörige Physik Engine des Halbleiterherstellers Ageia. Aufgabe dieses Chips ist die Berechnung vorrangig physikalisch bedingter… …   Deutsch Wikipedia

  • PhysX — PhysX, est un moteur physique permettant de créer un rendu temps réel des collisions et des processus physiques complexes comme les créations de particules après impact. Annoncé en 2005[1],[2],[3] et créé par la société AGEIA, il est racheté fin… …   Wikipédia en Français

  • PhysX — Saltar a navegación, búsqueda La PPU (Unidad de Procesamientos de Física) PhysX es un chip y un kit de desarrollo diseñados para llevar a cabo cálculos físicos muy complejos. Conocido anteriormente como la SDK de NovodeX, fue originalmente… …   Wikipedia Español

  • PhysX — У этого термина существуют и другие значения, см. PhysX (значения). PhysX Физический движок Оф …   Википедия

  • PhysX — Logo von Nvidia PhysX PhysX bezeichnet einen speziellen Prozessor (Physikbeschleuniger, auch Physics Processing Unit oder kurz PPU) sowie die zugehörige Physik Engine des Halbleiterherstellers Ageia. Aufgabe dieses Chips ist die Berechnung… …   Deutsch Wikipedia

  • PhysX SDK (движок) — PhysX Тип Физический движок Разработчик nVidia ОС Microsoft Windows, Mac OS X, Xbox 360, PlayStation 3, Nintendo Wii Версия 9 …   Википедия

  • PhysX Beschleuniger — PhysX bezeichnet einen speziellen Prozessor (Physikbeschleuniger, auch Physics Processing Unit oder kurz PPU) sowie die zugehörige Physik Engine des Halbleiterherstellers Ageia. Aufgabe dieses Chips ist die Berechnung vorrangig physikalisch… …   Deutsch Wikipedia

  • PhysX (значения) — PhysX: PhysX (от англ. physics  «физика»)  торговая марка компании Ageia. Куплена в 2008 году компанией Nvidia вместе с Ageia. PhysX (чип)  интегральная схема, специализированный микропроцессор. Разработан компанией Ageia.… …   Википедия

  • PhysX (движок) — У этого термина существуют и другие значения, см. PhysX. PhysX Физический движок Официальный логотип Разработчики …   Википедия

  • PhysX (чип) — У этого термина существуют и другие значения, см. PhysX (значения). PhysX (от англ. physics  «физика»)  интегральная схема, специализированный микропроцессор, являющийся физическим процессором (англ. PPU Physics Processing… …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”