[cairo] [patch] pixman_fill_rect implementations for specific
bpp modes
Owen Taylor
otaylor at redhat.com
Mon Jul 31 05:03:36 PDT 2006
On Mon, 2006-07-31 at 12:51 +0000, Aivars Kalvans wrote:
> Alexander Larsson wrote:
> > On Wed, 2006-07-26 at 14:27 +0000, Aivars Kalvans wrote:
> >
> >> pixman_fill_rect_general() is implicitly called from
> >> gdk_window_clear_backing_rect() and takes about 20% of gnome-terminal's
> >> time when doing `ls -laR /` or `cat large-file` (not counting X). Adding
> >> specific implementation for 16bpp mode reduces that to less than 10%.
> >>
> >
> > gdk_window_clear_backing_rect was changed to use gdk_draw_rectangle. I
> > wonder why you are hitting this.
> Because setup_backing_rect_method() chooses to use cairo ("else" branch
> in gdkwindow.c:1840). Maybe workaround can be extended to cover also
> this case?
>
> But, since problem is in cairo, I think it would be better to fix it
> there. Calling memcpy() for each pixel (2 or 3 bytes) is an overkill.
So, you are running on an X server without the RENDER extension?
Owen
More information about the cairo
mailing list