lp:~kdub/mir/fix-1560909
- Get this branch:
- bzr branch lp:~kdub/mir/fix-1560909
Branch merges
- Alan Griffiths: Disapprove
- Daniel van Vugt: Needs Information
- Alberto Aguirre (community): Abstain
- Mir CI Bot: Needs Fixing (continuous-integration)
- Cemil Azizoglu (community): Approve
-
Diff: 30 lines (+10/-1)1 file modifiedexamples/server_example_test_client.cpp (+10/-1)
Related bugs
Bug #1560909: Intermittent failure in mir_demo_client_multistream smoke test on krillin | Critical | Fix Released |
Related blueprints
Branch information
Recent revisions
- 3957. By Kevin DuBois
-
increase test client shutdown alarm to allow some clients to take longer to shutdown
- 3956. By Daniel van Vugt
-
Capitalize (new in 0.26) typedefs to be consistent with other typedefs.
There's no reason why we should keep using a different capitalization
pattern just for callback typedefs. - 3955. By Daniel van Vugt
-
Provide missing EDID data in nested servers (LP: #1651633)
. Fixes: https://bugs.launchpad .net/bugs/ 1651633. Approved by mir-ci-bot, Andreas Pokorny, Alan Griffiths.
- 3954. By Brandon Schaefer
-
Final changes needed for the display config change.
Approved by mir-ci-bot, Cemil Azizoglu.
- 3952. By Daniel van Vugt
-
Introducing client-side vsync, part 1.
For dramatically lower latency and improved smoothness.
Fixes LP: #1240909, LP: #1388490, LP: #1591328, LP: #1624188Part 1 covers all users of:
eglSwapBuffers
mir_buffer_ stream_ swap_buffers_ sync Part 2 will cover the rest (mir_buffer_
stream_ swap_buffers) but we're not
in a hurry for it as that still has working server-side vsync. Plus I
think Xmir is the only user of that function at present.Part 3 will introduce IPC to communicate hardware vsync timestamps to the
client for phase correction and increased precision (although that's not
a prerequisite to this).Immediate benefits:
* Greatly reduced latency from the client to the screen. Theoretically
three frames lower latency for windowed apps of a nested server like
Unity8. And this has been confirmed with real measurements:
https://docs.google. com/spreadsheet s/d/1RbTVDbx04o hkF4-md3wAlgmxb SI1DttstnT6xdcX hZQ/pubchart? oid=1566479835& format= interactive
You can also confirm using your own eyes: mir_demo_client_ target * No client/toolkit changes required.
* Latency and smoothness is no longer affected by process scheduling
randomness or poor server performance. Although we presently use input
resampling to work around some of the latency problem, that's not
immune to latency increasing again when the server has insufficient
time to keep up with the client. This approach is.* Lower latency even than double buffering (when nested), and also
without the risk of decimation when a client takes slightly too long
to render. Fixes: https://bugs.launchpad .net/bugs/ 1240909, https:/ /bugs.launchpad .net/bugs/ 1388490, https:/ /bugs.launchpad .net/bugs/ 1591328, https:/ /bugs.launchpad .net/bugs/ 1624188. Approved by Alan Griffiths, Kevin DuBois, mir-ci-bot, Cemil Azizoglu.
- 3951. By Kevin DuBois
-
client: add an extension to get window coordinate translations, preparing to deprecate mir_debug_
window_ coords_ to_screen. Approved by mir-ci-bot, Cemil Azizoglu.
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp:mir