Idea how to fix slow window resize in a composited desktop

Dennis Kasprzyk onestone at
Wed Sep 26 17:33:23 PDT 2007

> > I've been thinking about re-parenting client windows into a larger
> > (screen-size) top-level window while resizing them. This should give the
> > same result as what you're suggesting but without the need to add a
> > XCompositeAssignPixmapToWindow request.
> >
> > It shouldn't be very hard to make the compiz resize plugin support this
> > and it would be interesting to see what kind of performance improvement
> > it could provide.
> >
> > -David
> I've tried to implemented this idea (only as a quick dirty test) and the
> performance improvement was minimal. The resize performance is still really
> slow compared to the non composited resizing.
> Dennis

I've done another test and changed the    
if (pix_w != pOld->drawable.width || pix_h != pOld->drawable.height) 
line of the compReallocPixmap (compalloc.c) function to
if (pix_w > pOld->drawable.width || pix_h > pOld->drawable.height)
and the resizing got MUCH faster. It's still not as fast as in a non 
composited environment, but I think that this could also be related to some 
unneeded operations in compiz.

This shows that my idea should really improve the resize performance, but my 
problem is that I don't have enough knowledge to implement it ;-)


More information about the xorg mailing list