Merge lp://staging/~vanvugt/mir/flush into lp://staging/mir
Status: | Work in progress |
---|---|
Proposed branch: | lp://staging/~vanvugt/mir/flush |
Merge into: | lp://staging/mir |
Diff against target: |
295 lines (+174/-10) 3 files modified
src/server/compositor/multi_threaded_compositor.cpp (+52/-8) src/server/compositor/multi_threaded_compositor.h (+8/-2) tests/unit-tests/compositor/test_multi_threaded_compositor.cpp (+114/-0) |
To merge this branch: | bzr merge lp://staging/~vanvugt/mir/flush |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
PS Jenkins bot (community) | continuous-integration | Approve | |
Alberto Aguirre (community) | Needs Information | ||
Alexandros Frantzis (community) | Needs Information | ||
Kevin DuBois (community) | Needs Fixing | ||
Review via email: mp+230436@code.staging.launchpad.net |
Commit message
When restarting the compositor (including waking from sleep), flush
the scene and wait briefly for fresh frames. Then composite as soon as the
client (nested server) provides a new frame or the timeout of 500ms expires,
whichever happens first. This avoids the user seeing any stale frames on
wakeup.
This feature will also be useful in future as clients adjust to
display config changes seamlessly without visibly lagging behind the new
config (like resolution changes when a window is maximized).
Description of the change
This branch was intended to help with LP: #1340510. Although it's now clear that bug is more to do with Unity8/dbus and less to do with Mir. So this improvement to Mir isn't expected to solve LP: #1340510 by itself.
Still, this proposal is useful to have for other potential shells that respond to wakeup more quickly than Unity8 does right now.
Unmerged revisions
- 1860. By Daniel van Vugt
-
Merge latest development-branch and fix conflicts
- 1859. By Daniel van Vugt
-
Merge latest development-branch
- 1858. By Daniel van Vugt
-
Merge latest development-branch
- 1857. By Daniel van Vugt
-
Merge latest development-branch
- 1856. By Daniel van Vugt
-
Merge latest development-branch
- 1855. By Daniel van Vugt
-
Merge latest development-branch
- 1854. By Daniel van Vugt
-
Merge latest development-branch
- 1853. By Daniel van Vugt
-
Merge latest development-branch
- 1852. By Daniel van Vugt
-
Merge latest development-branch
- 1851. By Daniel van Vugt
-
Merge latest development-branch
needs fixing:
166 + void schedule_ compositing( int number_composites, :milliseconds delay = std::chrono: :milliseconds: :zero() );
167 + std::chrono:
default arguments ( http:// unity.ubuntu. com/mir/ cppguide/ index.html? showone= Default_ Arguments# Default_ Arguments )
suggestion: nger/mf: :DisplayChanger trigger a display composition on wakeup. This could avoid messing with the timeouts.
The solution isn't bad, but alternatively, we could have the objects implementing mir::DisplayCha