avoid regressions. And that measurement is the hard part. Or at least
it always has been hard, until Chris Wilson's recent cairo-perf-trace.
-# Previous attempts at 2D benchmarking
+## Previous attempts at 2D benchmarking
Various attempts at 2D-rendering benchmark suites have appeared and
even become popular. Notable examples are x11perf and gtkperf. My
things like x11perf in the past. I won't recommend it again in the
future. See below for what I suggest instead.
-# What do the 3D folks do?
+## What do the 3D folks do?
For 3D performance, everybody knows this lesson already. Nobody
measures the performance of "draw the same triangles over and
-over". And when a program that does that (like glxgears) everybody
-laughs if someone tries to take its frames-per-second report
-seriously. In fact, the phrase "glxgears is not a benchmark" is a
-catchphrase among 3D developers. Instead, 3D measurement is made with
-"benchmark modes" in the 3D applications that people actually care
-about, (which as far as I can tell is just games for some reason). In
-the benchmark mode, a sample session of recorded input is replayed as
-quickly as possible and a performance measurement is reported.
+over". And if someone does, (by seriously quoting glxgear fps numbers,
+for example), then everybody gets a good laugh. In fact, the phrase
+"glxgears is not a benchmark" is a catchphrase among 3D
+developers. Instead, 3D measurement is made with "benchmark modes" in
+the 3D applications that people actually care about, (which as far as
+I can tell is just games for some reason). In the benchmark mode, a
+sample session of recorded input is replayed as quickly as possible
+and a performance measurement is reported.
As a rule, our 2D applications don't have similar benchmark
modes. (There are some exceptions such as the trender utility for
coding up application-specific benchmarking code for every interesting
application isn't something that anyone is signing up to do right now.
-# Introducing cairo-perf-trace
+## Introducing cairo-perf-trace
Over the past year or so, Chris "ickle" Wilson has been putting a lot
of work into a debugging utility known as cairo-trace, (inspired by
evolution. Obviously, anyone should feel free to generate and propose
new traces to contribute.
-# Putting cairo-perf-trace to use
+## Putting cairo-perf-trace to use
In the few days that cairo-perf-traces has existed, we're already
seeing great results from it. When Kristian Høgsberg recently proposed