PhysX’s Big Break? Unreal Tournament 3 PhysX Performanceby Ryan Smith on December 14, 2007 12:00 AM EST
- Posted in
PhysX Performance Under UT3: AGEIA’s Maps
To start things off, we’ll begin with the physically demanding situations from AGEIA’s map pack before moving on to the stock UT3 maps. As AGEIA’s showpieces, these maps will trend to being PPU limited.
Although UT3 isn’t a particularly resource-hogging game, it does tend to be GPU limited more than any other situation. We see that on our 1600x1200 tests, where CTF-Tornado performs very similarly with both of our processors when PhysX enabled. What we end up with overall are very balanced results that show that everything can be a bottleneck at some point.
As we hinted at earlier, CTF-Tornado is generally playable with or without the PhysX PPU with any of our setups. Adding the PPU adds anywhere between 20-25% in our more realistic 1600x1200 situations, to 30-60% when we move away from the GPU bottleneck. However what the benchmarks don’t show is the performance of the map at its lowest; UT3 doesn’t give us the lowest frame rate values for these situations, but when staring directly in to the tornado – the most physically demanding action on this map – performance is certainly dropping in to the single digits. This is fine for bot matches, but this would be impractical for online play.
CTF-Lighthouse on the other hand shows massive performance improvements, and is completely unplayable without a PPU, where it’s literally a slideshow. Adding the PPU increases performance by a minimum of 280%, a welcome change from the PPU driving performance down in some of our past benchmarks. Even with the PPU however, CTF-Lighthouse struggles to be smooth at times, staying just on the side of playability. With no real way to vary the physics load we can’t test all possible options, but we believe it’s very likely that we’re PPU limited on this map, certainly at 800x600 when the GPU bottleneck is removed.
We also have a quick look at CPU usage for UT3 when running this map, to get an idea of just how well the CPU is being used; if it’s not being well used by the software PhysX simulations, then CTF-Lighthouse in particular is not a fair comparison. UT3 is designed around dual-core processors with some light helper threads to occupy cores 3 and 4, so if physics are the bottleneck then the multithreaded software PhysX simulations should be able to completely load the CPU.
However we are not seeing this. CPU usage is hovering at a little below 60% total usage on our QX6850. Given that we're not GPU limited, one thread in particular must be the CPU limited thread, and isn't capable of being further split. Our first thought is that the thread(s) that handle game logic also are doing the software physics, which would explain why we're not seeing a greater use of the other cores for the physics calculations. It's unfortunate if this is the case though, as it means that Unreal Tournament 3 (and possibly other Unreal Engine 3 games) is unable to fully utilize more than 2 cores and change. It also means that we potentially could be getting better software performance, which works against the PhysX hardware.
Never the less, this map is certainly designed to be a best-case scenario for the hardware, which is exactly what it delivers.