Federico Mena Quintero (federico ximian com):
> I don't know yet why that happens. Interestingly enough, running
> sysprof shows that *all* the time (94%) goes to the X server. I
> wonder why that happens, since, well, aren't we falling back to doing
> everything client-side?
>
> Your best bet is to see what GTK+ does in the fallback code that makes
> it so slow.
Federico rocks. On IRC he very quickly found the most likely cause of
the performance regression in the cairo code.
Attached is a patch to cairo which should make it much more usable,
and maybe gets close to solving the performance regression. There is a
missing optimization in cairo for non-RENDER X servers where it should
be using XFillRectangle() instead of a more involved fallback.
Dave, is there any way you could try this patch out? It was made
against cairo CVS HEAD but I have verified that it applies to the 1.0
branch.
The patch can still be improved, it currently allocates a colour
through X where it could calculate the pixel value itself for TrueColor
or DirectColor visuals.
-Billy