Code review comment for lp:~compiz-team/compiz/compiz.performance_1027211

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

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.

I now agree that fixing bug 1027211 will be a long-term effort of many different proposals after this one. :(

« Back to merge proposal