Glxgears is not a Benchmark

From cchtml.com
Revision as of 15:58, 21 November 2008 by 62.214.245.26 (talk) (removed viagra spam)

glxgears is an OpenGL program that reports FPS (frames per second) numbers. However, it is a very limited 'test'. Unlike most modern 3D games glxgears:

  • has an extremely low vertex/polygon count
  • does no texturing at all
  • only simple, flat shading is used (except inside the hole in each gear is simple smooth shading)
  • all vertex data is stored in a display list, so almost nothing passes between host CPU and video card once rendering is started. This mostly implies video card fill rate is limited. But, see next point.
  • the default window size is 300x300, a large part of which is not even rendered into, so it's not even a good fill rate test
  • the entire render step consists of only 21 OpenGL functions calls, of which only 6 are unique. This is not a very good OpenGL API stress test. Something like glean would be better.

So to summarize, glxgears only tests a small part of what you typically see in a 3D game. You could have glxgears FPS performance increase, but your 3D game performance decrease. Likewise, you could have glxgears performance decrease and your 3D game performance increase.

(Information taken from posts by Septor and dataangel - Thanks!).


Debunking the Myth (fglrx updates)

Your FPS numbers went up/down after you loaded the latest version! This is not because there was a change in the driver. Since the program is so wild and sensitive to load (since it barely uses any computational power), any 100+ FPS increase or decrease can easily be attributed to a music program or OpenOffice document you have open. You can also wildy change FPS in glxgears by simply unfocusing the window. Want a 1000FPS increase?? UNFOCUS THE WINDOW! Of course this is meaningless, since you can't enjoy Doom3 if you can't see the window.

Debunking the Myth (glxgears is a benchmark)

glxgears is not a benchmark.

You can use it to show that DRI works, but it does not even test that well. There's glxinfo or your Xorg.0.log to tell you if DRI was enabled as well.

And for the people who're wondering why CPU usage is 100%, while glxgears seems to be giving quite a lot of fps: yes, this is normal, because it tries to get the max number of frames per second. Checking CPU usage for glxgears is not a way to see if direct rendering works.

Check fglrx install status

# fglrxinfo
# glxinfo
# vi /var/log/Xorg.0.log
# dmesg

Use any of those commands to view the status of the fglrx module. Did it initilize correctly? Did it load DRI? Look in those files. If glxinfo reports direct rendering as "no" or the OpenGL renderer as "Mesa", then you are currently using software (un-accelerated) rendering.

Real Benchmarks

OpenGL

  • Unigine Sanctuary & Tropics Demos - [1]

GTK

  • Gtkperf - offered by any major distribution's repository.