NVIDIA APEX PhysX Efficiency: CPU vs GPU


Aug 10, 2002
1) Reads like an advert for NV graphics cards.

Similar to the first set of test results, Radeon video cards suffer poor frame rate speeds when PhysX is enabled. Our Intel Core i7-920 quad-core CPU just doesn't compare to the hundreds of cores available in a graphics processor. Both AMD and NVIDIA products suffer heavily reduced performance when APEX PhysX is processed by the computer's CPU, although there appears to be an unexpected trend: the most powerful GPUs offer the inverse in CPU-processed PhysX performance.

2K Games designed Mafia II using NVIDIA's PhysX 2.8.3 SDK, which supports only single-threaded PhysX CPU processing. PhysX SDK version 2.8.4 supports SSE2 instructions (which are not enabled by default for backwards compatibility), allowing updated games to compute PhysX more efficiently if developers enable the function. Finally, the forthcoming PhysX SDK 3.0 is said by NVIDIA to introduce multi-threaded CPU support to PhysX with SSE enabled by default, which could really change the game for everyone.
So single CPU core being used gives us the performance we see, so it might not actually be as bad as it looks when it can use more than one core.

Also, SSE2 is not enabled due to backwards compatibility? Backwards compatibility with WHAT exactly? If they are doing all this for PC, then nothing that is capable of running the game doesn't have SSE2. Maybe this is a console holdover issue?


Diamond Member
Sep 16, 2010
NV intentionally leaves CPU PhysX crippled for reasons of self-interest. Stuff like this and disabling PhysX if a rival card is in the PC, etc. makes me respect NV less.


"...It's expected that Nvidia would like to do everything it can to distance itself from the CPU and the GPUs of its competitors, but closer looks at the PhysX software implementation have shown that there could be some shadiness going on.

An excellent investigation by David Kanter at Real World Technologies found that Nvidia's PhysX software implementation for use by CPUs still uses x87 code, which has been deprecated by Intel in 2005 and now has been fully replaced by SSE. Intel supported SSE since 2000, and AMD implemented it in 2003.

The x87 code is slow, ugly, and remains supported on today's modern CPU solely for legacy reasons. In short, there is no technical reason for Nvidia to continue running PhysX on CPUs using such terrible software when moving to SSE would speed things considerably – unless that would make the GeForce GPGPU look less mighty compared to the CPU.

Ars Technica's Jon Stokes confronted Nvidia about deficient PhysX code and we are just as surprised as he was that Mike Skolones, product manager for PhysX, said "It's a creaky old codebase, there's no denying it."

Nvidia defends its position that much of the optimization is up to the developer, and when a game is being ported from console to PC, most of the time the PC's CPU will already run the physics better than the console counterpart. The 'already-better' performance from the port could lead developers to leave the code as-is, without pursuing further optimizations.

"It's fair to say we've got more room to improve on the CPU. But it's not fair to say, in the words of that article, that we're intentionally hobbling the CPU," Skolones said. "The game content runs better on a PC than it does on a console, and that has been good enough."

Another problem is that the current PhysX 2.7 codebase is very old; so old, in fact, that it goes back to before 2005, when x87 was deprecated. Skolones said that Nvidia is working on version 3.0 which should bring things up to date a little bit, though we don't doubt that the GPGPU functions will still be faster.

This isn't the first time that we've heard that Nvidia's PhysX software is less than well-optimized. AMD accused Nvidia of disabling multi-core support in CPU PhysX earlier this year."


Golden Member
Feb 22, 2010
I think someone else did mention Nvidias marketing tactics in preperation for the HD6xxx series of cards being launched. This is just the start.


Oct 9, 1999
I still can't break past 60 FPS with overclocked Tri-SLI GTX 480s and a 4+GHz Core i7 980X when PhysX is on High. Crazy!