• Owen W. Taylor's avatar
    Compress motion synchronized with the paint cycle · a69285da
    Owen W. Taylor authored
    When we have pending motion events, instead of delivering them
    directly, request the new FLUSH_EVENTS phase of the frame clock.
    This allows us to compress repeated motion events sent to the
    same window.
    
    In the FLUSH_EVENTS phase, which occur at priority GDK_PRIORITY_EVENTS + 1,
    we deliver any pending motion events then turn off event delivery
    until the end of the next frame. Turning off event delivery means
    that we'll reliably paint the compressed motion events even if more
    have arrived.
    
    Add a motion-compression test case which demonstrates behavior when
    an application takes too long handle motion events. It is unusable
    without this patch but behaves fine with the patch.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=685460
    a69285da
Name
Last commit
Last update
build Loading commit data...
demos Loading commit data...
docs Loading commit data...
examples Loading commit data...
gdk Loading commit data...
gtk Loading commit data...
libgail-util Loading commit data...
m4 Loading commit data...
m4macros Loading commit data...
modules Loading commit data...
perf Loading commit data...
po Loading commit data...
po-properties Loading commit data...
tests Loading commit data...
AUTHORS Loading commit data...
COPYING Loading commit data...
ChangeLog.gtk-async-file-chooser Loading commit data...
ChangeLog.gtk-printing Loading commit data...
ChangeLog.pre-1-0 Loading commit data...
ChangeLog.pre-1-2 Loading commit data...
ChangeLog.pre-2-0 Loading commit data...
ChangeLog.pre-2-10 Loading commit data...
ChangeLog.pre-2-12 Loading commit data...
ChangeLog.pre-2-14 Loading commit data...
ChangeLog.pre-2-16 Loading commit data...
ChangeLog.pre-2-2 Loading commit data...
ChangeLog.pre-2-4 Loading commit data...
ChangeLog.pre-2-6 Loading commit data...
ChangeLog.pre-2-8 Loading commit data...
HACKING Loading commit data...
INSTALL.in Loading commit data...
MAINTAINERS Loading commit data...
Makefile.am Loading commit data...
Makefile.decl Loading commit data...
NEWS Loading commit data...
NEWS.pre-1-0 Loading commit data...
README.commits Loading commit data...
README.in Loading commit data...
README.win32 Loading commit data...
acinclude.m4 Loading commit data...
autogen.sh Loading commit data...
config.h.win32.in Loading commit data...
configure.ac Loading commit data...
gail-3.0.pc.in Loading commit data...
gdk-3.0.pc.in Loading commit data...
git.mk Loading commit data...
gtk+-3.0.pc.in Loading commit data...
gtk+-unix-print-3.0.pc.in Loading commit data...
gtk+.doap Loading commit data...
gtk+.spec.in Loading commit data...
gtk-engine-check-abi.sh Loading commit data...
gtk-zip.sh.in Loading commit data...
makecopyright Loading commit data...
makefile.msc Loading commit data...
sanitize-la.sh Loading commit data...
sanity_check Loading commit data...