| PhysX | |
|---|---|
| Original author | NovodeX AG (ETH Zurich) |
| Developers | Nvidia Corporation (2008-present) Ageia (2004-2008) NovodeX AG (2001-2004) |
| Stable release | Blast 5.0.6; PhysX SDK 5.5.0; Flow 2.1.0; PhysX System Software 9.23.1019 / December 13, 2024 (2024-12-13) |
| Written in | C++ |
| Operating system | Microsoft Windows,macOS,Linux,PlayStation 2,PlayStation 3,PlayStation 4,Xbox 360,Xbox One,Wii,iOS,Android |
| Type | Physics simulation |
| License | BSD-3 |
| Website | Nvidia PhysX developer site Documentation |
| Repository | https://github.com/NVIDIA-Omniverse/PhysX (5.x) https://github.com/NVIDIAGameWorks/PhysX (4.x and 3.4) https://github.com/NVIDIAGameWorks/PhysX-3.4 (3.4) |

PhysX is anopen-source[1]realtimephysics enginemiddlewareSDK developed byNvidia as part of theNvidia GameWorkssoftware suite.
Initially, video games supporting PhysX were meant to beaccelerated byPhysX PPU (expansion cards designed byAgeia). However, after Ageia's acquisition by Nvidia, dedicated PhysX cards have been discontinued in favor of theAPI being run onCUDA-enabledGeForceGPUs. In both cases,hardware acceleration allowed for the offloading of certain physics calculations from theCPU, allowing it to perform other tasks instead.
PhysX and other middleware physics engines are used in many video games today because they allowgame developers to save development time by not having to write their own code that implementsclassical mechanics (Newtonian physics) to do, for example,soft body dynamics.[2]
What is known today as PhysX originated as a physics simulation engine called NovodeX. The engine was developed bySwiss company NovodeX AG, anETH Zurich spin-off.[3] 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, the SDK was renamed from NovodeX to PhysX, and the accelerator cards were dubbed PPUs (Physics Processing Units).[4]
In 2008, Ageia was itself acquired by graphics technology manufacturer Nvidia.[5] Nvidia started enabling PhysXhardware acceleration on its line ofGeForcegraphics cards[6] and eventually dropped support for Ageia PPUs.[7]
PhysX SDK 3.0 was released in May 2011 and represented a significant rewrite of the SDK, bringing improvements such as more efficientmultithreading and a unified code base for all supported platforms.[2]
AtGDC 2015, Nvidia made thesource code for PhysX available onGitHub, but required registration at developer.nvidia.com.[8] Theproprietary SDK was provided to developers for free for both commercial and non-commercial use onWindows,Linux,macOS,iOS andAndroid platforms.[9]
On December 3, 2018, PhysX was made open source under a3-clause BSD license, but this change applied only to computer and mobile platforms.[10]
On November 8, 2022, the open source release was updated to PhysX 5, under the same3-clause BSD license.[11]
In February 2025, support for 32-bit CUDA applications was deprecated for theGeForce RTX 50 series, rendering GPU-accelerated PhysX nonfunctional in 32-bit titles.[12] This resulted in GPU PhysX options to be processed by the CPU when enabled, causing a degradation in performance, in titles such asMirror's Edge andBorderlands 2.[13]
On December 4th 2025, support for select games with 32-Bit GPU-Accelerated PhysX options was implemented by Nvidia.[14]
The PhysX engine and SDK are available for Microsoft Windows, macOS, Linux,[10]PlayStation 3,[15][16]PlayStation 4,[17]Xbox 360,[18]Xbox One,[19]Wii,[20] iOS and Android.[10]
PhysX is a multi-threaded physics simulation SDK. It supportsrigid body dynamics,soft body dynamics (likecloth simulation, including tearing and pressurized cloth),ragdolls and character controllers,vehicle dynamics,particles andvolumetric fluid simulation.

Aphysics processing unit (PPU) is a processor specially designed to alleviate the calculation burden on the CPU, specifically calculations involving physics. PhysX PPUs were offered to consumers in the forms ofPCI orPCIe cards byASUS,[21]BFG Technologies,[22][23]Dell[24] andELSA Technology.[25]
Beginning with version 2.8.3 of the PhysX SDK, support for PPU cards was dropped, and PPU cards are no longer manufactured.[7] The last incarnation of PhysX PPU standalone card designed by Ageia had roughly the same PhysX performance as a dedicated9800GTX.[26]
After Nvidia's acquisition of Ageia, PhysX development turned away from PPU expansion cards and focused instead on theGPGPU capabilities of modern GPUs.
Modern GPUs are very efficient at manipulating and displaying computer graphics, and theirhighly parallel structure makes them more effective than general-purpose CPUs for accelerating physical simulations using PhysX.
AnyCUDA-ready GeForce graphics card (8-series or later GPU with a minimum of 32 cores and a minimum of 256 MB dedicated graphics memory[27]) can take advantage of PhysX without the need to install a dedicated PhysX card.
Nvidia APEX technology is a multi-platform scalable dynamics framework build around the PhysX SDK. It was first introduced inMafia II in August 2010.[28] Nvidia's APEX comprises the following modules: APEX Destruction, APEX Clothing, APEX Particles, APEX Turbulence, APEX ForceField and formerly APEX Vegetation which was suspended in 2011.[29][30]
From version 1.4.1 APEX SDK is deprecated.[31]
FleX is a particle based simulation technique for real-timevisual effects. Traditionally, visual effects are made using a combination of elements created using specialized solvers forrigid bodies, fluids, clothing, etc. Because FleX uses a unified particle representation for all object types, it enables new effects where different simulated substances can interact with each other seamlessly. Such unified physics solvers are a staple of theoffline computer graphics world, where tools such asAutodesk Maya's nCloth, andSoftimage's Lagoa are widely used. The goal for FleX is to use the power of GPUs to bring the capabilities of these offline applications to real-time computer graphics.[32]
On July 5, 2010, Real World Technologies published an analysis[33] of the PhysX architecture. According to this analysis, most of the code used in PhysX applications at the time was based onx87instructions without anymultithreadingoptimization. This could cause significant performance drops when running PhysX code on the CPU. The article suggested that a PhysX rewrite usingSSE 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[34] that SSE support had been left behind because most games are developed forconsoles 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.SeniorPR manager of Nvidia, Bryan Del Rizzo, explained that multithreading had already been available with CPU PhysX 2.x and that it had been 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.[35]
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]
PhysX technology is used bygame engines such asUnreal Engine (version 3 onwards),Unity,Gamebryo,Vision (version 6 onwards), Instinct Engine,[36]Panda3D,Diesel,Torque,HeroEngine, andBigWorld.[27]
As one of the handful of major physics engines, it is used in many games, such asThe Witcher 3: Wild Hunt,Warframe,Killing Floor 2,Batman: Arkham Knight,Planetside 2,andBorderlands 2. Most of these games use the CPU to process the physics simulations.
Video games with optional support for hardware-accelerated PhysX often include additional effects such as tearable cloth, dynamic smoke or simulated particle debris.[37][38][39]
Other software with PhysX support includes: