[cairo-bugs] [Bug 28067] Performance regression in synthetic micro-benchmark

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed May 12 13:25:08 PDT 2010


--- Comment #7 from Chris Wilson <chris at chris-wilson.co.uk> 2010-05-12 13:25:05 PDT ---
Joonas reminded me that the bigger change between 1.8 and 1.10 that is
affecting this benchmark is self-intersection removal. Whilst stroking in 1.8
we would generate a trap for each segment at a time, causing incorrect results
on overlapping segments and joints. In 1.10, we generate the mask for all the
edges in a single pass, which is much slower as the alogrithms scale in the
number of edges and intersections O((n+k) log n) [best case, we suspect that
our implementation scales nowhere nearly that well!] but visually much more

Short answer, we might not be able to fix the regression because we have chosen
correctness over performance here.

Longer answer, changing the stroker has a significant impact on the number of
edges and intersections feed into the rasteriser and may recover the lost

Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

More information about the cairo-bugs mailing list