[cairo] Road to pixman 0.16.0

Soeren Sandmann sandmann at daimi.au.dk
Thu Jul 16 09:41:51 PDT 2009


Rainman Lee <rainman.lee at gmail.com> writes:

> I thought the performance for rotating should be improved, especially
> on windows.
> I run a test which painted a rotated image pattern from 0 degree to
> 360 degree, with fast filter, and no antialias.
> cairo takes 3448ms, but GDI+ takes only 1411ms, more than two times
> faster than cairo!
> most of time is spent in pixman, so I greatly wish the new version of
> pixman could fix it :@)

If someone does the work to come up with a benchmark and a good patch
for fast path rotation, I don't see any reason it couldn't be included
for 0.16.0. It's mostly a matter of finding someone who has time to do
the work. It sounds like your test program might be a good start on a
performance benchmark.

There is a number of other performance improvements that are close
enough that they could conceivably be added before 0.16.0 if good
patches show up; candidates include:

- André's bilinear optimization:
        http://lists.cairographics.org/archives/cairo/2009-March/016737.html

- André's radial gradient optimization:
        http://lists.x.org/archives/cairo/2008-March/013491.html

        (Embarrassingly, we have ignored this one for over a year
        now).

- Siarhei's fast paths for nearest neighbour scaling
        http://lists.x.org/archives/cairo/2009-May/017229.html

        (I have warmed up to these, though there are quite a few
        changes, I'd like to see. I can write them up if someone wants
        to work on this).

- Enable the sse2 fast path that is disabled

        http://cgit.freedesktop.org/~sandmann/pixman/commit/?h=sse2fix&id=1b63f81748ee6f95a864ab2ccb107cdc89831203

- The improvements to Jeff's fast path here:

        http://cgit.freedesktop.org/~sandmann/pixman/log/?h=unroll



Soren


More information about the cairo mailing list