Will Woods, Fedora Testing Guy (qa_rockstar) wrote,
Will Woods, Fedora Testing Guy

Why glxgears is slower with Kernel Modesetting (and why it doesn't matter)

or: "glxgears is not a 3d benchmark"

One interesting fact came out of yesterday's Intel KMS Test Day. Everyone noticed that glxgears is much slower under KMS/DRI2 than it was before (e.g. in Fedora 9 or 10). A typical result was ~1000FPS in F10, but only ~440FPS in Rawhide. So what's changed?

Here's the deal, as best as I understand it (thanks to krh/halfline/ajax for trying to explain it to me): glxgears is rendering an insanely simple scene - so simple that the actual 3D rendering time is basically zero. So the only thing glxgears really tests is the performance of glXSwapBuffers() - basically, how fast we can push render buffers into the card. This operation is slower with DRI2, but - roughly speaking - unless it was an order of magnitude slower (e.g. glxgears drops from 1000FPS to under 100FPS) it wouldn't make any real difference.

So if you're going to be comparing "3D performance" - please, don't bother with glxgears. ajax has suggested a couple of things that might make better benchmarks:
  • The mesa-demos package has a few useful things - teapot in particular is nicely simple.
  • sierpinski3d and glblur from xscreensaver-gl-extras also work well.
  • extremetuxracer is, in my opinion, the most fun way to benchmark 3D.

If you see major (100% or more) performance differences between KMS and non-KMS in those apps, it's probably worth investigating further.

  • depcheck: the why and the how (part 3)

    In part 1 I talked about the general idea of the depcheck test, and part 2 got into some of the messy details. If you'd like a more detailed look…

  • depcheck: the why and the how (part 2)

    In part 1 I discussed the general idea of the depcheck test: use yum to simulate installing proposed updates, to be sure that they don't have any…

  • depcheck: the why and how (part 1)

    From the very beginning, one of the big goals of the AutoQA project was to set up an automated test that would keep broken updates out of the repos.…

  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded