Category:PhysX SDK

From PhysX Wiki

Jump to: navigation, search
PhysX SDK logo - Nvidia
PhysX SDK logo - Ageia

NVIDIA PhysX SDK is proprietary, multi-platform, realtime physics engine middleware. Middleware physics engines allow game developers to avoid writing their own code to handle the physics simulation, and focus on other aspects of the game.

While PhysX SDK is mostly used to calculate in-game physics on CPU, some games and applications are supporting enhanced hardware accelerated physics effects - running normally only if appropriate NVIDIA GPU is found the system. More details: NVIDIA PhysX Technology

Contents

Generations

PhysX SDKs can be devided into two generations:

Supported Platforms

Windows PC Mac OS X Linux Xbox 360 Xbox One PS3 PS4 Wii Wii U
PhysX 2.8.x Y Y Y* Y Y Y Y*
PhysX 3.x Y Y Y Y Y Y Y Y Y
Android iOS Windows RT
PhysX 2.8.x Y* Y*
PhysX 3.x Y Y Y

* Special versions, only available for selected partners or by request

For more information on licensing options for various platforms, please refer to corresponding SDKs pages.

Common delusions

Actually, only some parts of PhysX SDK code were rewritten on CUDA after Ageia was aquired by NVIDIA, to support hardware acceleration on NVIDIA GPUs. Main in-game physics calculations, like collision detection, character controller, rigid body physics or ragdolls, are always running on CPU (even in games with GPU PhysX support). GPU hardware acceleration, in other case, is used mostly for additional physics effects, like particles (fluids, dynamic smoke, debris and chunks from explosions) and cloth (clothing and hair simulation on characters, cloth banners and flags).
Thus, if you plan to integrate PhysX SDK into your game engine, or use PhysX plug-ins, you don't need an NVIDIA GPU, unless you'll want to use hardware accelerated features.
Most of the claims to PhysX (x87 instructions usage, lack of multi-core optimizations) are applied to CPU execution of supplementary GPU PhysX content in games, and not general PhysX SDK performance. Purpose of GPU PhysX content is to give advantage (in form of additional effects or performance) to owners of NVIDIA GPUs, and not to demonstrate the wonders of CPU optimization.
But in fact, developers are pretty satisfied with PhysX SDK efficiency on CPU, and huge number of released PC games is a good indicator.
Moreover, latest generation of PhysX engine - PhysX SDK 3.x - was written with multithreading and SIMD optimizations in mind, and is one of the fastest solutions currently available.

Developer's opinions

I've often seen people on the forums cite articles about how NVIDIA has cobbled the software PhysX engine, but in my experience the performance of PhysX is better than other software engines like Bullet.
- Max McGuire, Technical Director, Unknown Worlds Entertainment
That's the common misconception that PhysX 2.X cannot be multithreaded. Actually it is internally designed to be multithreaded! The only thing – it takes some programmer time to enable that multi-threading.
- Oles Shishkovtsov, Chief Technology Officer, 4A Games

External Links


Pages in category "PhysX SDK"

The following 5 pages are in this category, out of 5 total.

H

M

N

P

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox
Jump To