PhysX Performance

The first program we tested is AGEIA's test application. It's a small scene with a pyramid of boxes stacked up. The only thing it does is shoot a ball at the boxes. We used FRAPS to get the framerate of the test app with and without hardware support.

AEGIA Test Application


With the hardware, we were able to get a better minimum and average framerate after shooting the boxes. Obviously this case is a little contrived. The scene is only CPU limited with no fancy graphics going on to clutter up the GPU: just a bunch of solid colored boxes bouncing around after being shaken up a bit. Clearly the PhysX hardware is able to take the burden off the CPU when physics calculations are the only bottleneck in performance. This is to be expected, and doing the same amount of work will give higher performance under PhysX hardware, but we still don't have any idea of how much more the hardware will really allow.

Maybe in the future AGEIA will give us the ability to increase the number of boxes. For now, we get 16% higher minimum frame rates and 14% higher average frame rates by using be AGEIA PhysX card over just the FX-57 CPU. Honestly, that's a little underwhelming, considering that the AGEIA test application ought to be providing more of a best case scenario.

Moving to the slower Opteron 144 processor, the PhysX card does seem to be a bit more helpful. Average frame rates are up 36% and minimum frame rates are up 47%. The problem is, the target audience of the PhysX card is far more likely to have a high-end processor than a low-end "chump" processor -- or at the very least, they would have an overclocked Opteron/Athlon 64.

Let's take a look at Ghost Recon and see if the story changes any.

Ghost Recon Advanced Warfighter

This next test will be a bit different. Rather than testing the same level of physics with hardware and software, we are only able to test the software at a low physics level and the hardware at a high physics level. We haven't been able to find any way to enable hardware quality physics without the board, nor have we discovered how to enable lower quality physics effects with the board installed. These numbers are still useful as they reflect what people will actually see.

For this test, we looked at a low quality setting (800x600 with low quality textures and no AF) and a high quality setting (1600x1200 with high quality textures and 8x AF). We recorded both the minimum and the average framerate. Here are a couple screenshots with (top) and without (bottom) PhysX, along with the results:



Ghost Recon Advanced Warfighter


Ghost Recon Advanced Warfighter


The graphs show some interesting results. We see a lower framerate in all cases when using the PhysX hardware. As we said before, installing the hardware automatically enables higher quality physics. We can't get a good idea of how much better the PhysX hardware would perform than the CPU, but we can see a couple facts very clearly.

Looking at the average framerate comparisons shows us that when the game is GPU limited there is relatively little impact for enabling the higher quality physics. This is the most likely case we'll see in the near term, as the only people buying PhysX hardware initially will probably also be buying high end graphics solutions and pushing them to their limit. The lower end CPU does still have a relatively large impact on minimum frame rates, however, so the PPU doesn't appear to be offloading a lot of work from the CPU core.

The average framerates under low quality graphics settings (i.e. shifting the bottleneck from the GPU to another part of the system) shows that high quality physics has a large impact on performance behind the scenes. The game has either become limited by the PhysX card itself or by the CPU, depending on how much extra physics is going on and where different aspects of the game are being processed. It's very likely this is a more of a bottleneck on the PhysX hardware, as the difference between the 1.8 and 2.6 GHz CPU with PhysX is less than the difference between the two CPUs using software PhysX calculations.

If we shift our focus to the minimum framerates, we notice that when physics is accelerated by hardware our minimum framerate is very low at 17 frames per second regardless of the graphical quality - 12 FPS with the slower CPU. Our test is mostly that of an explosion. We record slightly before and slightly after a grenade blowing up some scenery, and the minimum framerate happens right after the explosion goes off.

Our working theory is that when the explosion starts, the debris that goes flying everywhere needs to be created on the fly. This can either be done on the CPU, on the PhysX card, or in both places depending on exactly how the situation is handled by the software. It seems most likely that the slowdown is the cost of instancing all these objects on the PhysX card and then moving them back and forth over the PCI bus and eventually to the GPU. It would certainly be interesting to see if a faster connection for the PhysX card - like PCIe X1 - could smooth things out, but that will have to wait for a future generation of the hardware most likely.

We don't feel the drop in frame rates really affects playability as it's only a couple frames with lower framerates (and the framerate isn't low enough to really "feel" the stutter). However, we'll leave it to the reader to judge whether the quality gain is worth the performance loss. In order to help in that endeavor, we are providing two short videos (3.3MB Zip) of the benchmark sequence with and without hardware acceleration. Enjoy!

One final note is that judging by the average and minimum frame rates, the quality of the physics calculations running on the CPU is substantially lower than it needs to be, at least with a fast processor. Another way of putting it is that the high quality physics may be a little too high quality right now. The reason we say this is that our frame rates are lower -- both minimum and average rates -- when using the PPU. Ideally, we want better physics quality at equal or higher frame rates. Having more objects on screen at once isn't bad, but we would definitely like to have some control over the amount of additional objects.

ASUS Card and Test Configuration Final Words
Comments Locked

101 Comments

View All Comments

  • DerekWilson - Friday, May 5, 2006 - link

    We will be taking a look at CellFactor as soon as we can
  • Egglick - Friday, May 5, 2006 - link

    quote:

    It seems most likely that the slowdown is the cost of instancing all these objects on the PhysX card and then moving them back and forth over the PCI bus and eventually to the GPU. It would certainly be interesting to see if a faster connection for the PhysX card - like PCIe X1 - could smooth things out....

    You've certainly got a point there. Seeing as how a physics card is more like a co-processor than anything else, the PCI bus is probably even more of a limitation than it would be with a graphics card, where most of the textures can simply be loaded into the framebuffer beforehand.

    I still believe that the best option is to piggyback PPU's onto graphics cards. Not only does this allow them to share the MUCH higher bandwidth PCIe x16 slot, but it would also mean nearly instant communication between the physics chip and the GPU. The two chips could share the same framebuffer (RAM), as well as a cooling solution. This would lower costs significantly and increase performance.
  • DerekWilson - Friday, May 5, 2006 - link

    combo boards, while not impossible to make, are going to be much more complex. There could also be power issues as PhysX and today's GPUs require external power. It'd be cool to see, and it might speed up adoption, but I think its unlikely to happen given the roi to board makers.

    The framebuffer couldn't really be shared between the two parts either.
  • Rolphus - Friday, May 5, 2006 - link

    On page 2: "A graphics card, even with a 512-bit internal bus running at core speed, has less than 350 Mb/sec internal bandwidth." - er, I'm guessing that should read 350Gb/sec?
  • JarredWalton - Friday, May 5, 2006 - link

    Yes. Correcting....
  • Rolphus - Friday, May 5, 2006 - link

    Thanks for the quick response - I've just finished the article. It's good stuff, interesting analysis, and commentary and general subtext of "nice but not essential" is extremely useful.

    One random thing - is images.anandtech.com struggling, or is my browser just being a pain? I've been having trouble seeing a lot of the images in the article, needing various reloads to get them to show etc.
  • ATWindsor - Friday, May 5, 2006 - link

    Anandtech images doesn't work properly if you disable referer logging (pretty annoying), can that be the root of your problem? (adblock disabling it or something)
  • JarredWalton - Friday, May 5, 2006 - link

    Seems to be doing fine from our end. If you're at a company with a firewall or proxy, that could do some screwy stuff. We've also had reports from users that have firewall/browser settings configured to only show images from the source website - meaning since the images aren't from www.anandtech.com, they get blocked.

    As far as I know, both the images and the content are on the same physical server, but there are two different names. I could be wrong, as I don't have anything to do with the system administration. :)
  • Rolphus - Friday, May 5, 2006 - link

    Weird, seems to be fine now I've disabled AdBlock in Firefox... that'll teach me. It's not like I block any of AnandTech's ads anyway, apart from the intellitxt stuff - that drives me NUTS.
  • JarredWalton - Friday, May 5, 2006 - link

    Click the "About" link, then "IntelliTxt". You might be pleasantly surprised to know it can be turned off.

Log in

Don't have an account? Sign up now