[cairo-bugs] [Bug 11529] Performance of cairo is not good without XRender extension

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon May 26 04:18:45 PDT 2008


http://bugs.freedesktop.org/show_bug.cgi?id=11529


Ginn Chen <ginn.chen at sun.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|cworth at cworth.org           |ginn.chen at sun.com
             Status|REOPENED                    |ASSIGNED




--- Comment #37 from Ginn Chen <ginn.chen at sun.com>  2008-05-26 04:18:43 PST ---
Created an attachment (id=16734)
 --> (http://bugs.freedesktop.org/attachment.cgi?id=16734)
patch for xlib-surface

This approach doesn't use medialib, and improves the performance of Firefox 3
greatly.

1) fallback lately in _cairo_xlib_surface_composite, so that we can use
XCopyArea when RENDER is not available

2) use XFillRectange for _cairo_xlib_surface_fill_rectangles. It's much faster
that the fall back composite code.
e.g. if we're drawing widget borders by fill_rectangles, the fall back code
will do XGetImage and XPutImage for the whole widget extents.

Use this patch along with the patch on
https://bugzilla.mozilla.org/show_bug.cgi?id=435739
will improve Firefox 3 by several times.

I also have a patch for cairo-surface-fallback.c.
The idea is we don't need get the real image data for
cairo_surface_acquire_dest_image() in some cases, e.g. OP_CLEAR.
Then we can save a call to XGetImage().
But I don't know how to write this patch nicely, cairo_op is not passed through
_fallback_init().


-- 
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