mutter:wip/carlosg/performance-improvements

Last commit made on 2017-05-22
Get this branch:
git clone -b wip/carlosg/performance-improvements https://git.launchpad.net/mutter

Branch merges

Branch information

Name:
wip/carlosg/performance-improvements
Repository:
lp:mutter

Recent commits

8d75ea6... by Carlos Garnacho

wayland: Use weak ref to keep track of buffers

Instead of using a one-shot signal meant to happen then the buffer
is being destroyed.

https://bugzilla.gnome.org/show_bug.cgi?id=782344

a7ee755... by Carlos Garnacho

compositor: Use redraw clip region to cull out children

This will avoid repainting too much of the background if the
bounding box turned out to be too large.

https://bugzilla.gnome.org/show_bug.cgi?id=782344

af3475f... by Carlos Garnacho

ClutterStage: Store clip area as a region

This will allow drawing optimizations as a region is more concrete
than the bounding rectangle.

https://bugzilla.gnome.org/show_bug.cgi?id=782344

77fd682... by Carlos Garnacho

ClutterActor: Preserve valid paint volumes till the next relayout/repaint

Cuts down approximately 55% of paint volumes calculation when there's
windows that redraw frequently, but don't move.

https://bugzilla.gnome.org/show_bug.cgi?id=782344

fa8e4f6... by Carlos Garnacho

compositor: Ensure to clip partial shadow redraws

Otherwise we end up drawing too far outside the clip area, which
brings in artifacts now that we have tighter regions instead of
an overlapping rect.

https://bugzilla.gnome.org/show_bug.cgi?id=782344

b98a8d9... by Carlos Garnacho

clutter: Avoid rounding compensation when invalidating 2D actors

This allows the redraw clip to be more constrained, so MetaCullable doesn't
end up rendering portions of window shadows, frame and background when a
window invalidates (part of) its contents.

https://bugzilla.gnome.org/show_bug.cgi?id=782344

864bc79... by Carlos Garnacho

cogl: Ensure to only clear the depth buffer if depth testing is enabled

The depth buffer is marked as invalid when 1) the framebuffer is just created,
and 2) whenever GL_DEPTH_TEST is enabled on it. This will ensure the
framebuffers attached depth buffer (if any) is properly cleared before it's
actually used, while saving needless clears while depth testing is disabled
(the default).

https://bugzilla.gnome.org/show_bug.cgi?id=782344

e5b0675... by Carlos Garnacho

compositor: Remove MetaSurfaceActor::repaint-scheduled signal

It's unused now.

https://bugzilla.gnome.org/show_bug.cgi?id=782344

3402c50... by Carlos Garnacho

compositor: Use queue_redraw vmethod over repaint-scheduled signal

https://bugzilla.gnome.org/show_bug.cgi?id=782344

0605434... by Carlos Garnacho

compositor: Avoid changing pipeline/source if shadow is not being painted

Avoids some context invalidations in cogl.

https://bugzilla.gnome.org/show_bug.cgi?id=782344