summaryrefslogtreecommitdiff
path: root/perf/README
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2009-06-02 13:08:25 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2009-06-02 15:13:47 +0100
commit7ed050fd435f17d25c7b757b02cfe200f8779fc2 (patch)
treed47e21dd695950f91231786ab3329b98f02d4273 /perf/README
parent403f780b292762aa45056c2fb5a48bb806521173 (diff)
[perf] Benchmark traces
Add a variant of cairo-perf that measures the time to replay traces.
Diffstat (limited to 'perf/README')
-rw-r--r--perf/README31
1 files changed, 31 insertions, 0 deletions
diff --git a/perf/README b/perf/README
index ca5f2a1c..ebc2daf0 100644
--- a/perf/README
+++ b/perf/README
@@ -179,6 +179,37 @@ added:
above, three tests would be performed at sizes of 16x16, 32x32 and
64x64.
+
+How to benchmark traces
+-----------------------
+Using cairo-trace you can record the exact sequence of graphic operations
+made by an application and replay them later. These traces can then be
+used to benchmark the various backends and patches.
+
+To record a trace:
+$ cairo-trace --no-mark-dirty --no-callers $APPLICATION [$ARGV]
+
+--no-mark-dirty is useful for applications that are paranoid about
+surfaces being modified by external plugins outside of their control, the
+prime example here is firefox.
+--no-callers disables the symbolic caller lookup and so speeds tracing
+(dramatically for large c++ programs) and similarly speeds up the replay
+as the files are much smaller.
+
+The output file will be called $APPLICATION.$PID.trace, the actual path
+written to will be displayed on the terminal.
+
+Then to use cairo-perf-trace:
+$ ./cairo-perf-trace $APPLICATION.$PID.trace
+
+Alternatively you can put the trace into perf/traces, or set
+CAIRO_TRACE_DIR to point to your trace directory, and the trace will be
+included in the performance tests.
+
+If you record an interesting trace, please consider sharing it by compressing
+it, LZMA preferred, and posting a link to cairo@cairographics.org.
+
+
How to run cairo-perf-diff on WINDOWS
-------------------------------------
This section explains the specifics of running cairo-perf-diff under