]> Pileus Git - ~andy/gtk/commit
GdkWindowX11: Only start a frame when we emit damage
authorOwen W. Taylor <otaylor@fishsoup.net>
Wed, 14 Nov 2012 17:23:41 +0000 (12:23 -0500)
committerOwen W. Taylor <otaylor@fishsoup.net>
Thu, 14 Feb 2013 22:19:50 +0000 (17:19 -0500)
commitd761df7e0c73341a191b45ac5c30c44eaf31e305
tree9e0d7f4eb47d9a84c8cfe8be9da41649ba8a08a9
parente4aa9f05ae6e9b55d696f43c64ea61d91f8a1671
GdkWindowX11: Only start a frame when we emit damage

Instead of communicating the start of a frame to the window manager
as soon as we begin a frame, start a frame only when we know we've
actually created damage to the contents of a window.

(This uses cairo_set_mime_data() as a notification mechanism - a
clever suggestion from Uli Schlachter.)

The advantage of this is that we aren't forcing the compositor to
do a frame cycle and send _NET_WM_FRAME_DRAWN - depending on how the
compositor is structured that might either cause it to do extra
work or it might send _NET_WM_FRAME_DRAWN early and upset frame
timing.

https://bugzilla.gnome.org/show_bug.cgi?id=685460
gdk/x11/gdkwindow-x11.c
gdk/x11/gdkwindow-x11.h