Merge lp:~vanvugt/compiz-core/lastMotionTime into lp:compiz-core
Status: | Rejected | ||||
---|---|---|---|---|---|
Rejected by: | Daniel van Vugt | ||||
Proposed branch: | lp:~vanvugt/compiz-core/lastMotionTime | ||||
Merge into: | lp:compiz-core | ||||
Diff against target: |
75 lines (+17/-13) 3 files modified
metadata/core.xml.in (+7/-0) src/privatescreen.h (+1/-0) src/screen.cpp (+9/-13) |
||||
To merge this branch: | bzr merge lp:~vanvugt/compiz-core/lastMotionTime | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Sam Spilsbury | Disapprove | ||
Alan Griffiths | Approve | ||
Review via email: mp+100742@code.launchpad.net |
Description of the change
Faster window movement, by faster MotionNotify handling.
PrivateScreen:
MotionNotify events so as to reduce CPU load. However the old algorithm
fails to deduplicate events most of the time as the event loop is fast
enough that only one such event happened per iteration. Hence there was
nothing to deduplicate against.
This new algorithm deduplicates motion events across event loop iterations,
at least halving, usually quartering, the number of motion events that
need to be processed. This translates directly to lower CPU use.
Unmerged revisions
- 3085. By Daniel van Vugt
-
Faster window movement, by faster MotionNotify handling.
PrivateScreen:
:queueEvents has always been designed to try and deduplicate
MotionNotify events so as to reduce CPU load. However the old algorithm
fails to deduplicate events most of the time as the event loop is fast
enough that only one such event happened per iteration. Hence there was
nothing to deduplicate against.This new algorithm deduplicates motion events across event loop iterations,
at least halving, usually quartering, the number of motion events that
need to be processed. This translates directly to lower CPU use.
AFAICS There would be no cost to reducing the scope of peekEvent to its use.