diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2013-01-24 08:55:54 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2013-01-26 16:10:47 +0000 |
commit | c986a7310bb06582b7d8a566d5f007ba4e5e75bf (patch) | |
tree | b1f01fb7896726f69beffd369bcaf936041c4668 /src/cairo-spans-compositor-private.h | |
parent | cfe0e59663c71a6ecd0c976797ac32339e363af2 (diff) | |
download | cairo-c986a7310bb06582b7d8a566d5f007ba4e5e75bf.tar.gz |
image: Enable inplace compositing with opacities for general routines
On a SNB i5-2500:
Speedups
========
firefox-chalkboard 34284.16 -> 19637.40: 1.74x speedup
swfdec-giant-steps 778.35 -> 665.37: 1.17x speedup
ocitysmap 485.64 -> 431.94: 1.12x speedup
Slowdowns
=========
firefox-fishbowl 46878.98 -> 54407.14: 1.16x slowdown
That slow down is due to overhead of the increased number of calls to
pixman_image_composite32() (pixman_transform_point for analyzing the
source extents in particular) outweighing any advantage gained by
performing the rasterisation in a single pass and eliding gaps. The
solution that has been floated in the past is for an interface into
pixman to only perform the analysis once and then to return a kernel to
use for all spans.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/cairo-spans-compositor-private.h')
-rw-r--r-- | src/cairo-spans-compositor-private.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/cairo-spans-compositor-private.h b/src/cairo-spans-compositor-private.h index d8b94fba9..0babebd26 100644 --- a/src/cairo-spans-compositor-private.h +++ b/src/cairo-spans-compositor-private.h @@ -46,7 +46,7 @@ CAIRO_BEGIN_DECLS typedef struct _cairo_abstract_span_renderer { cairo_span_renderer_t base; - char data[2048]; + char data[4096]; } cairo_abstract_span_renderer_t; struct cairo_spans_compositor { |