mutter/clutter/x11
Owen W. Taylor 9df6f0c524 ClutterX11TexturePixmap: Optimize ConfigureEvent handling
ClutterX11TexturePixmap watches for configure events to tell when it
needs to name a new pixmap for the window. However, ConfigureEvents
occur on moves in addition to resizes, and doing round trips and
naming new pixmaps every time a window is moved is a real performance
killer.

Add clutter_x11_texture_pixmap_sync_window_internal() that takes the
size/position of the window as arguments rather than always calling
XGetWindowAttributes. This allows us to bypass all work other than
notifying the window-x/window-y properties when we get a ConfigurEvent
for a move.

The last received width/height is saved to allow us to also omit
XGetWindowAttributes on MapNotify events.

The public clutter_x11_texture_pixmap_sync_window() becomes a bit less
efficient since we no longer combine the roundtrips for
XGetWindowAttributes() and XCompositeNameWindowPixmap(), but it appears
to have no callers in current publicly available code.

Several FIXME's are added for areas where there are still weird things
going on in the code or improvements could be made.

http://bugzilla.clutter-project.org/show_bug.cgi?id=2356
2010-11-24 16:19:21 +00:00
..
xsettings
clutter-backend-x11-private.h
clutter-backend-x11.c x11: Check for initialized context when enabling ARGB visuals 2010-11-24 12:02:38 +00:00
clutter-backend-x11.h Clean up clutter-private.h/4 2010-10-21 12:22:17 +01:00
clutter-device-manager-x11.c Clean up clutter-private.h/1 2010-10-21 10:54:14 +01:00
clutter-device-manager-x11.h
clutter-event-x11.c x11: only queue clipped redraw for Expose 2010-11-23 16:31:49 +00:00
clutter-input-device-x11.c Clean up clutter-private.h/1 2010-10-21 10:54:14 +01:00
clutter-input-device-x11.h
clutter-keymap-x11.c
clutter-keymap-x11.h
clutter-settings-x11.h
clutter-stage-x11.c Clean up clutter-private.h/6 2010-10-21 12:22:17 +01:00
clutter-stage-x11.h
clutter-x11-texture-pixmap.c ClutterX11TexturePixmap: Optimize ConfigureEvent handling 2010-11-24 16:19:21 +00:00
clutter-x11-texture-pixmap.h x11: Clean up TexturePixmap header and private data structure 2010-07-21 15:14:36 +01:00
clutter-x11.h