[cairo] After 1.3.2, what's going to make cairo faster next?

Daniel Amelang daniel.amelang at gmail.com
Thu Nov 16 14:31:43 PST 2006


On 11/16/06, Carl Worth <cworth at cworth.org> wrote:
> On Wed, 15 Nov 2006 15:28:54 -0800, Carl Worth wrote:
>   *Help wanted*: Perceptual Diff fix for test suite?
> ...
>   before it matches). Something that might help reduce a lot of pain
>   here is the perceptual diff stuff that was recently proposed. Is
>   anyone looking into that?

Yes, that was me that brought it up originally and I haven't forgotten
about it. I do have a quick-and-dirty version that calls out using
system() (pdiff currently only builds to an executable, not a library)
which has produced some good results. But, I still need to add image
flattening to match the way cairo-test uses the current image_diff.

Also, the pdiff code is so small that I'd like to just rip out the
parts we care about and create a single pdiff.c with both the
algorithm and cairo-specific code to form a drop in replacement for
the current image_diff, with no external dependencies. If licensing
were a problem, I think we can easily get the pdiff author to dual
license it or something. He seems pretty flexible and wants his code
to be used.

I plan on going back and working on this next week sometime. The
performance improvements I'm currently working on are more important,
I think.

> * Identity-matrix short-circuit and other floating-point magic
>
>   *Help wanted*: Daniel, coming back to cairo land soon?
>
>   Aivars Kalvans submitted a nice fix that short circuits unnecessary
>   floating-point operations for identity-matrix transformations.
>   Daniel Amelang, (who seems to have take on a new, much-needed role
>   of cleaning up good, unfinished work), has said he's got a
>   cleaned-up version of that patch along with some other
>   floating-point magic to help out with the text rendering performance
>   problems that Jorn Baayen profiled in pango-cairo. I'm looking
>   forward to hearing more from Dan when he recovers from recent midterm
>   exams.

I back :) I've been working on Aivars patch all afternoon, and I
expect to submit my reworking of it sometime tomorrow. This one is a
pretty big win, BTW. I'll address the text-rendering floating point
optimizations in a separate email, as it's complicated.

While we're talking about performance, what are your thoughts on the
stencil buffer approach that zrusin is so enamored of? It appears to
only work with OpenGL, but providing a path that (completely?) avoids
the tessellator when possible might be interesting.

Dan


More information about the cairo mailing list