Thursday, December 14, 2006

Doing the Numbers

I think the framerate test may be the best piece of code I've ever written for X-Plane. It speeds up my own work checking X-Plane's performance (and removes the risk of careless error), allows us to easily collect user-based stats, and has changed the dialog on performance in the beta from he-said/she-said (the result of having no precise quantitative measurements) to a fact-based dialog box where we can discover problems more quickly.

Today in a noble sacrifice (using this card is nothing less than torture) I put a GF-FX5200
back in my G5 to look at bugs and performance. (The terrain night lighting and landing lights should be back in all nVidia hardware with shaders in the next beta.) Some things I've learned:

Turning off GLSL shaders boosts fps from 46 to 55 fps with my Radeon 9600XT but goes from 22 to 45 fps with the FX5200. From that we can learn:
  • The penalty for GLSL shaders is really really high on the FX5200.
  • The shader implementation for the FX5200 just doesn't run at the same speeds we see in R300-based's not in the ballpark.
Looking at a profile of the sim, with the FX5200 running shaders, about 50% of the time is spent waiting for the graphics card to chug.

Other things I've found:
  • GLSL shaders are slower on terrain, but still worth it for runway lights - having those be hardware accelerated is definitely a positive.
  • Per-pixel fog doesn't affect fps on the 9600XT but is a measurable penalty on the FX5200.
  • The landing light also hits the FX5200 about 20% - again it's negligible on the 9600XT.
The moral of the story may be: we need a way to not use shaders for terrain on the FX5200. Between the little things that shaders give us (that we can't use) that cost too much and the overall lack of performance, GLSL terrain and the FX5200 may not be a good idea.

If you have an FX5200 and OS X 10.3, there may not be any benefit to updating to 10.4 - you'll have the option of using GLSL shaders but you may not want to.

If you have a G5 and an FX5200 and the option to put a new card in, you may want to consider it - you'll almost certainly get a fps boost (especially if you use something like an X850).


Anonymous said...

I want to buy a ATI 1950 XTX. Do you think that this card works now with all features on max in a AMD X2 4400, 2GB Ram PC?

Benjamin Supnik said...

Please read my blog entry This One Goes to 11...I think it will explain why I cannot answer your qusetion.

Anonymous said...

Ben you never said what to do if you have a G5 and the FX5200 in an iMac form factor, which does not allow for replacement of the card, and going to a whole new machine is not an answer?

Benjamin Supnik said...

If you have the iMac G5 with the FX5200, well, this isn't an enviable situation, because the machine is not well balanced between the video card and CPU, but you can't replace the video card.

In 860 make sure the "detailed" world switch is off. This will prevent x-plane from trying to use shaders for terrain, which will help framerate a little bit.