← Back to team overview

compiz team mailing list archive

[Bug 1100073] Re: Normal resize mode temporarily hangs the desktop

 

Here are my comments on the resizing bottlenecks I found while we were
fixing bug 1027211...

OK, I've tracked down the main offenders that remain _after_ this fix.

1. XSync() inside PrivateWindow::updateRegion()
2. XShapeGetRectangles() inside PrivateWindow::updateRegion()
3. XShapeGetRectangles() called from decor.

If you remove those from the equation then there is no longer a complete
freeze. But it still stutters. Further analysis then shows compiz
spending its time in one of:

(a) XSync in PixmapBinding::bind
(b) bindTexImageGLX
(c) PrivateVertexBuffer::render

I should add that reverting to the old asynchronous damage handling does
not help at all with stutters/freezing. The main issues are those listed
above.

It looks to me like our XShape support could be made more efficient
instead if synchronously querying XShapeGetRectangles all the time.

-- 
You received this bug notification because you are a member of compiz
packagers, which is subscribed to compiz in Ubuntu.
https://bugs.launchpad.net/bugs/1100073

Title:
  Normal resize mode temporarily hangs the desktop

To manage notifications about this bug go to:
https://bugs.launchpad.net/compiz/+bug/1100073/+subscriptions


References