[cairo] [patch] pixman_fill_rect implementations for specific
bpp modes
Aivars Kalvans
aivars.kalvans at inbox.lv
Mon Jul 31 05:51:43 PDT 2006
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.
--
Aivars
More information about the cairo
mailing list