[cairo-bugs] [Bug 15479] Unpredictable performance of cairo-xlib with non-integer translations of a source surface pattern

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Apr 14 23:27:28 PDT 2008


--- Comment #2 from Karl Lattimer <karl at qdh.org.uk>  2008-04-14 23:27:24 PST ---
Hi Carl,

> I don't see what you're hoping to get out of the cairo bug report here.

Well I was hoping that the long term fix you mentioned in the X drivers would
be duly noted and happen some day. That is all, so this was just meant as a

> I looked through the (long) GNOME bugzilla thread on this issue before
> I could get any sense of what the issue is at all.
> And what I *finally* got was:
>     cairo_set_set_source_surface (cr, non_integer_X, non_integer_Y);
>     cairo_paint (cr);
> Is slow for some particular combinations of X servers/drivers.
> I don't doubt that for a second, but I don't see what change could
> happen in cairo to fix the issue.
> Obviously, the ideal thing long-term is to fix the X drivers in all
> cases so that compositing a surface with a transformation more
> sophisticated than integer-translation-only is fast.
> In the meantime, you have various workarounds possible in your
> application, all of which were mentioned in the bugzilla entry:
>    * Use integer translations
>    * Force software-rendering by using cairo_image_surface and then
>      copying only the final result.
> Is there anything that you can see that we could change in cairo to
> help here? I'm not seeing anything obvious.

Thanks to Jorgen I've managed to see the bug, and his patch works well enough
for me to apply it to GNOME system monitor (with a bity of clean up and some
slight fixes) so I think tonight I'll go with that fix and hope that we can
still get this into the next release. Although it may be a point release

Thanks for your insight, and confirmation of the issue we're facing and the
possible fixes.

- Karl

Configure bugmail: http://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