Idea how to fix slow window resize in a composited desktop
onestone at opencompositing.org
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.
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