Borderlands 2 PhysX Performance and PhysX Comparison - GTX 680 and HD 7970
GPU Performance and CPU Utilization
On to the result. First up, our 1080p results between the GTX 680 and HD 7970 GHz Edition at Low PhysX settings.
Here we find that both the Radeon and GeForce cards perform very closely with only 5-6% of seperation at the average frame rate. The minimums are a bit further apart than that but still, the gap between these cards is small.
CPU utilizaiton between both configurations is pretty much equal as well, falling between 10-20% throughout the benchmark run.
Turning up PhysX to Medium results in some interesting....well results. NVIDIA's results look very similar to above but the AMD Radeon HD 7970 GHz Edition sees some dramatic drops in frame rate. In both of those sections, seconds 28-50 and again at 61-80, the amount of PhysX effects on the screen is at a high level. As a result, the average frame rate for our test run is 27% slower on the Radeon HD 7970 GHz Edition than it is on the GeForce GTX 680.
Compared to the results from the Low PhysX preset, NVIDIA's card sees a 38% drop and AMD's card sees a larger 49% decrease.
With those drops in frame rates I expected to see some CPU utilization differences here but they never showed up. In fact, if anything, the NVIDIA configuration is actually using more CPU horsepower than the AMD Radeon HD 7970 GHz Edition setup. Obviously our information on PhysX falling back to the CPU wasn't quite correct. Does anything change at the High setting?
Ouch, the results here are even worse when we compare the GTX 680 and HD 7970 GHz Edition with the gap between the average frame rates hitting 108%! Even though the frame rate on the Radeon card starts out in line with that of the NVIDIA card, it drops as the test continues and never really finds a way to rise up again. While the NVIDIA card goes from 90 FPS (Medium) to about 70 FPS here, the AMD card sees a huge drop from 71 FPS to 33 FPS.
Compared to the results from the Low PhysX preset, NVIDIA's card at High sees a 53% drop and AMD's card sees a larger 76% decrease.
Even with those dramatic drops for the AMD card, the CPU utilization is basically the same on the NVIDIA and AMD configurations.
Obviously there is still a lot of testing to be done with Borderlands 2 as we plan to integrate in our GPU testing going forward. As we have done in the past, the chances are good that we will do so setting PhysX at the lowest possible setting - it annoys NVIDIA when we do that but it seems to be the most fair way to compare the performance of these varying GPUs. Especially until we figure out exactly WHY the performance is dropping so dramatically on AMD cards when PhysX is at Medium or High.
It is nice that least AMD Radeon users have the option to enable PhysX at all, and if you are playing with a high performance cards like the HD 7900s, you will probably still be able to set it to Medium and get playable frame rates at 1080p. No, NVIDIA hasn't enabled PhysX acceleration on AMD cards, but they appear to have chosen to allow it to run through the system as a whole (or maybe they just forgot).
UPDATE: I did finally get an answer from Gearbox about the slow downs we were seeing on the AMD results. Apparently when larger collections of PhysX simulations are running on the CPU, those threads can take quite a bit longer than they would when running on the GPU. As a result, the CPU (and rest of the game engine code) becomes "blocked" waiting for a single thread to finish, which results in the lower CPU utilization we saw on the AMD results as well as the lower overall performance. Because PhysX is an NVIDIA engine, even if Gearbox chose to they likely couldn't add in additional multi-threaded capabilities to the PhysX code path so the slow down here is likely to stay.
For most NVIDIA GPU users, the additional PhysX effects are a fun and simple way to increase the "cool" factor of your gaming experience and you should be able to run at Medium or High pretty easily. That is just one of the advantages you get with the NVIDIA GeForce brand with this title. Mid-range AMD users will want to leave PhysX at low for the best frame rates but if you have a high end system and utilize a higher end Radeon GPU you can probably still get away with the Medium setting.