← Back to team overview

compiz team mailing list archive

[Bug 1027211] Re: [nvidia] Moving or resizing windows freezes and stutters on nvidia (especially if some other window is redrawing).

 

The first, primary problem, with an expensive XSync is now fixed. But
that's not enough to solve the bug adequately. Here are my comments from
the tail end of that fix yesterday...

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/1027211

Title:
  [nvidia] Moving or resizing windows freezes and stutters on nvidia
  (especially if some other window is redrawing).

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


References