From a7ee7559e4f0d79282d47106ad61013e71023801 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 1 May 2017 13:44:04 +0200 Subject: [PATCH] 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 --- src/compositor/meta-window-group.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/compositor/meta-window-group.c b/src/compositor/meta-window-group.c index 4b907777e..33ca05698 100644 --- a/src/compositor/meta-window-group.c +++ b/src/compositor/meta-window-group.c @@ -57,7 +57,7 @@ meta_window_group_paint (ClutterActor *actor) { cairo_region_t *clip_region; cairo_region_t *unobscured_region; - cairo_rectangle_int_t visible_rect, clip_rect; + cairo_rectangle_int_t visible_rect; int paint_x_origin, paint_y_origin; int screen_width, screen_height; @@ -109,11 +109,7 @@ meta_window_group_paint (ClutterActor *actor) * sizes, we could intersect this with an accurate union of the * monitors to avoid painting shadows that are visible only in the * holes. */ - clutter_stage_get_redraw_clip_bounds (CLUTTER_STAGE (stage), - &clip_rect); - - clip_region = cairo_region_create_rectangle (&clip_rect); - + clip_region = clutter_stage_get_redraw_clip (CLUTTER_STAGE (stage)); cairo_region_translate (clip_region, -paint_x_origin, -paint_y_origin); meta_cullable_cull_out (META_CULLABLE (window_group), unobscured_region, clip_region);