[cairo] [cairo-commit] 18 commits - src/cairo-analysis-surface.c src/cairo-clip.c src/cairo-clip-private.h src/cairo-directfb-surface.c src/cairo.h src/cairo-image-surface.c src/cairoint.h src/cairo-paginated-surface.c src/cairo-region.c src/cairo-region-private.h src/cairo-surface.c src/cairo-surface-fallback.c src/cairo-traps.c src/cairo-types-private.h src/cairo-win32-surface.c src/cairo-xcb-surface.c src/cairo-xlib-surface.c src/Makefile.sources
Chris Wilson
chris at chris-wilson.co.uk
Sun Mar 29 04:06:03 PDT 2009
On Sat, 2009-03-28 at 17:41 -0700, Søren Sandmann Pedersen wrote:
> src/Makefile.sources | 1
> src/cairo-analysis-surface.c | 29 --
> src/cairo-clip-private.h | 4
> src/cairo-clip.c | 134 ++++------
> src/cairo-directfb-surface.c | 26 +-
> src/cairo-image-surface.c | 2
> src/cairo-paginated-surface.c | 34 +-
> src/cairo-region-private.h | 113 --------
> src/cairo-region.c | 538 +++++++++++++++++++++++++++++++++++-------
> src/cairo-surface-fallback.c | 67 ++---
> src/cairo-surface.c | 55 +---
> src/cairo-traps.c | 61 ++--
> src/cairo-types-private.h | 42 ---
> src/cairo-win32-surface.c | 50 +--
> src/cairo-xcb-surface.c | 24 -
> src/cairo-xlib-surface.c | 41 +--
> src/cairo.h | 78 ++++++
> src/cairoint.h | 26 +-
> 18 files changed, 789 insertions(+), 536 deletions(-)
Preliminary profiling indicates that this is a factor of 6-8 slower for
region heavy perf cases like dragon and rectangles. (I suspect that is
due to the elimination of cairo_region_create_rectangles() which is,
IIRC, an O(n log n) operation as compared to the O(n^2) of iteration
over the unions.) And I haven't even looked at the malloc profiles yet.
Can anyone confirm the negative performance impact on their machines?
-ickle
More information about the cairo
mailing list