Re: Performance notes on background flickering



On Mon, 2004-05-03 at 15:06, Soeren Sandmann Pedersen wrote:
>     meta_draw_op_draw_with_env					24.28%
>         draw_op_as_pixbuf()					11.72%
>             meta_gradient_spec_render 				 8.62%
>                 meta_gradient_create_multi_vertical		 7.21%
> 	    scale_and_alpha_pixbuf				 2.68%

Are the percentages including the children, or in the function itself?

It looks like a big pain here is generating the gradients, Bluecurve
overlays several gradients IIRC. What does the profile look like with a
trivial minimalist theme with only X drawing calls (lines, etc.)

> A different approach is to "compile" the tree into pixmaps. I think it
> is possible for most themes to be compiled into a small number
> of pixmaps and make the frame paint be just blitting those to the
> screen. I think this would essentially make metacity disappear from the
> profile, but it is a relatively big and non-trivial project.

But e.g. the Bluecurve titlebar is not a tiling of pixmaps, it's going
to be a different titlebar pixmap for every window size - which could
use a ton of memory.

Havoc





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]