Nested servers (Unity8) periodically stutter (half frame rate) with Mir 0.26.1
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical System Image |
Fix Released
|
High
|
Stephen M. Webb | ||
Mir |
Fix Released
|
High
|
Daniel van Vugt | ||
0.26 |
Fix Released
|
High
|
Daniel van Vugt | ||
mir (Ubuntu) |
Fix Released
|
High
|
Unassigned |
Bug Description
Nested servers periodically stutter (half frame rate) with Mir 0.26.1
On an old laptop, it's about half the time stuttering and half the time smooth.
On a fast desktop, it only stutters occasionally like when a large blur is active.
It seems the problem is Mir's predictive bypass optimization conflicting with the new client-side vsync optimization. Both are correct and desirable when used alone, but when used together they conflict, presumably because the former requires perfect vsync phase and the latter lacks correct vsync phase (which is still an exercise for later).
A workaround to get more reliably smooth frame rates is to create a file:
/etc/
with contents:
[Seat:*]
unity-composito
Related branches
- Chris Halse Rogers: Approve
- Mir CI Bot: Approve (continuous-integration)
-
Diff: 12 lines (+1/-1)1 file modifiedsrc/platform/options/default_configuration.cpp (+1/-1)
- Michał Sawicz: Disapprove
-
Diff: 13 lines (+6/-0)1 file modifieddebian/changelog (+6/-0)
tags: | removed: regression |
Changed in mir: | |
status: | Triaged → In Progress |
Changed in mir (Ubuntu): | |
importance: | Undecided → High |
status: | New → Triaged |
Changed in canonical-devices-system-image: | |
status: | Triaged → Fix Committed |
assignee: | Daniel van Vugt (vanvugt) → Stephen M. Webb (bregma) |
milestone: | none → u8c-1 |
Changed in canonical-devices-system-image: | |
status: | Fix Committed → Fix Released |
Changed in mir: | |
status: | Fix Committed → Fix Released |
This could also explain why MIR_CLIENT_ PERF_REPORT= log occasionally says Untiy8 is taking 10-17ms to render every frame. But the rest of the time it requires less than 1ms.