mutter/src
Owen W. Taylor 83f8bfd2ca Reduce overpaint in the window group
When we are painting a stack of 5-10 maximized windows, the
standard bottom-to-top method of drawing every actor results
in a tremendous amount of overdraw and can easily max out
the available memory bandwidth on a low-end* graphics chipset.
It's even worse if window textures are being accessed over
the AGP bus.

When we have opaque windows, we can go ahead and compute visibility
ourselves (in classic X-server fashion) and use that information to
restrict drawing obscured actors.

* Add MutterWindowGroup - a ClutterGroup subclass with logic
  for figuring out obscured regions.

* Add mutter_window_get_obscured_region() to get the region
  obscured by that window.

* Add mutter_shaped_texture_set_clip_region() to hint
  a clip region to the painting code; this is set based on
  the computed visible region of MutterWindowGroup.

* Add tidy_texture_frame_set_needs_paint() to hint that the
  paint can be skipped entirely; this is used when we detect
  that the window shadow is entirely obscured.

http://bugzilla.gnome.org/show_bug.cgi?id=587344
2009-07-09 16:56:01 +01:00
..
compositor Reduce overpaint in the window group 2009-07-09 16:56:01 +01:00
core Simplify relationship between mapping and visibility 2009-07-06 00:16:23 +01:00
include Simplify relationship between mapping and visibility 2009-07-06 00:16:23 +01:00
tools Comprehensively rename to Mutter 2009-06-16 14:17:10 -04:00
ui Add better tracking of real stacking order 2009-06-29 23:04:59 -04:00
wm-tester Comprehensively rename to Mutter 2009-06-16 14:17:10 -04:00
.cvsignore Install desktop files in both .../share/applications and 2008-09-12 04:05:17 +00:00
default_icon.png New 48x48 default icon as specified in bug #160660 2005-01-25 18:47:57 +00:00
libmutter-private.pc.in Comprehensively rename to Mutter 2009-06-16 14:17:10 -04:00
Makefile.am Reduce overpaint in the window group 2009-07-09 16:56:01 +01:00
mutter-enum-types.c.in Add bits missing from last commit 2009-07-04 17:14:48 +01:00
mutter-enum-types.h.in Add bits missing from last commit 2009-07-04 17:14:48 +01:00
mutter-marshal.list Add bits missing from last commit 2009-07-04 17:14:48 +01:00
mutter-plugins.pc.in Comprehensively rename to Mutter 2009-06-16 14:17:10 -04:00
mutter-wm.desktop.in Comprehensively rename to Mutter 2009-06-16 14:17:10 -04:00
mutter.desktop.in Comprehensively rename to Mutter 2009-06-16 14:17:10 -04:00
mutter.schemas.in Comprehensively rename to Mutter 2009-06-16 14:17:10 -04:00
run-mutter.sh Comprehensively rename to Mutter 2009-06-16 14:17:10 -04:00
stock_delete.png Update the pixmap to a new one which fit better with the other pixmaps of 2006-08-20 19:44:52 +00:00
stock_maximize.png Register window menu icons with the Gtk stock system, instead of using the 2002-08-10 16:47:43 +00:00
stock_minimize.png Register window menu icons with the Gtk stock system, instead of using the 2002-08-10 16:47:43 +00:00