CPU-Based PhysX summary
To summarize the headlines of the last few months and summarize the test results, we can conclude the following:
- The CPU-based PhysX mode mostly uses only the older x87 instruction set instead of SSE2.
- Testing other compilations in the Bullet benchmark shows only a maximum performance increase of 10% to 20% when using SSE2.
- The optimization performance gains would thus only be marginal in a purely single-core application.
- Contrary to many reports, CPU-based PhysX supports multi-threading.
- There are scenarios in which PhysX is better on the CPU than the GPU.
- A game like Metro 2033 shows that CPU-based PhysX could be quite competitive.
Then why is the performance picture so dreary right now?
- With CPU-based PhysX, the game developers are largely responsible for fixing thread allocation and management, while GPU-based PhysX handles this automatically.
- This is a time and money issue for the game developers.
- The current situation is also architected to help promote GPU-based PhysX over CPU-based PhysX.
- With SSE2 optimizations and good threading management for the CPU, modern quad-core processors would be highly competitive compared to GPU PhysX. Predictably, Nvidia’s interest in this is lackluster.
The AMD graphics card + Nvidia graphics card (as dedicated PhysX card) hybrid mode
Here, too, our verdict is a bit more moderate compared to the recent hype. We conclude the following:
One can claim that using the additional card results in a huge performance gain if PhysX was previously running on the CPU instead of the GPU. In such cases, the performance of a Radeon HD 5870 with a dedicated PhysX card is far superior to a single GeForce GTX 480. Even if you combine the GTX 480 with the same dedicated PhysX card, the lead of the GTX 480 is very small. The GPU-based PhysX solution is possible for all AMD users if the dedicated Nvidia PhysX-capable board is powerful enough. Mafia II shows that there are times when even a single GeForce GTX 480 reaches its limits and that “real” PhysX with highly-playable frame rates is only possible with a dedicated PhysX card.
On the other hand, we have the fact that Nvidia incorporates strategic barriers in its drivers to prevent these combinations and performance gains if non-Nvidia cards are installed as primary graphics solutions.
It's good that the community does not take this lying down, but instead continues to produce pragmatic countermeasures. But there are more pressing drawbacks. In addition to the high costs of buying an extra card, we have added power consumption. If you use an older card, this is disturbingly noticeable, even in idle mode or normal desktop operation. Everyone will have to decide just how much money an enthusiast project like this is worth. It works, and it's fun. But whether it makes sense for you is something only you can decide for yourself.