by Rob Williams on June 27, 2008 in NVIDIA-Based GPU
PhysX is getting a lot of attention right now, but the reasons vary wildly. Since we haven’t taken a look at the technology in a while, this article’s goal is to see where things stand. We’ll also be taking an in-depth look at GPU PhysX performance, using both 3DMark Vantage and UT III.
Unreal Tournament III by itself utilizes advanced physic technologies thanks to the Unreal Engine 3, but with levels equipped with PhysX acceleration, even cooler real-time effects can be added. These include explosions that warp the air around it, compressed canisters that can be shot also hail bouncing off of the ground.
The level I chose to work with is the PhysX-enhanced version of Heat Ray. The original version of the level lacks anything that makes PhysX tick, so you will not find randomly placed drums of gasoline, nor see thick hail pellets hitting the ground. There are also new canisters scattered around that contain compressed gas. Once shot, they will go haywire, flying around sporadically until it runs out of whatever gas it’s spewing out. This can be used as a weapon, I assume, but I’ve never been lucky enough to get a kill off of one.
One thing that should be mentioned is that levels enriched with physics content will result in decreased average frames-per-second over levels that contain no such thing. The original Heat Ray level would run faster than the results we will soon take a look at, but that’s not what we are focusing on today. What we wanted to see is how PhysX acceleration on the PPU and GPU affects your average FPS. We also played the level with no accelerator at all, so all calculations were run from the CPU.
Like our gaming benchmarks for our graphic card reviews, this test was performed manually. If you are interested in our reasoning behind this, please refer to our recent testing methodology. Generically speaking, we prefer real gameplay over timedemos because gamers don’t play timedemos… they play games.
To capture average FPS, I used FRAPS 2.9.4. The game was run both at 1680×1050 and 2560×1600, for two reasons. First, the 1680 resolution will take a load off the GPU, so we can see just how physics can affect performance. The latter is used to see how much pain our single GPU can handle.
Also, because timedemos are exact and manual testing is not, I attempted to keep to the same method of navigating the level with each run. Each playthrough lasted between three and four minutes, and each was played three times over, to rule out any inconsistency.
These results are all rather expected, but are interesting nonetheless. It’s apparent that the CPU is a massive bottleneck when it comes to physics, or PhysX specifically, as we wound up with very consistent lackluster results of around 30FPS.
Things changed when the 9800 GTX was put to work, however. Our average FPS jumped up to 50FPS… a very notable increase. Our question as to whether or not the GPU would suffer frames lost over a PPU being used has now been answered as well. Thanks to the PPUs ability of off-loading all calculations onto its processor and away from the CPU and GPU, we gained another 10FPS to comfortably sit at 60FPS. How about 2560×1600, then?
Things change quite a bit here. Because the GPU is so overwhelmed with both the churning out of graphics and handling of PhysX, it offers no real benefit over not using PhysX acceleration at all. In this case, it would be better to forget about physics and stick to the regular version of the level. It will take a fair amount of GPU power to excel here, with such a high resolution.
The next question to answer is whether or not one of our methods makes lighter work for the CPU.
I think that about answers our question as well as it can be. Even the CPU-based PhysX used the same amount of processing power on average as the PPU and GPU. One point to note is that even when all of the physics are being off-loaded to the PPU or GPU, the CPU still plays a significant role in delivering great gameplay. As you can see, our high-end Quad-Core was consistently taxed, and hovered around 65% on average, with either configuration.
Unreal Tournament III is one of the few games out there that has the ability to utilize all four cores in your Quad-Core, and I have in the past seen it hit 100% on multiple cores during specific tests. What we should take from this is that even though the physics can be off-loaded to the GPU, the CPU still plays an important role.
On the next page, I’ll wrap up with some final thoughts and explain more about the current and future PhysX situation.