[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