mirscreencast can cause clients to render faster than the screen refresh rate
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mir |
Fix Released
|
Medium
|
Alberto Aguirre | ||
mir (Ubuntu) |
Fix Released
|
Medium
|
Unassigned |
Bug Description
Using mirscreencast -s 100 100 for example
with:
mir_demo_
The clients report the following:
60 FPS
60 FPS
60 FPS
60 FPS
60 FPS
59 FPS
60 FPS
60 FPS
60 FPS
60 FPS
60 FPS
59 FPS
79 FPS <--- screencasting started here
110 FPS
107 FPS
114 FPS
111 FPS
99 FPS
The screencast drives its compositor asynchronously from the multi threaded compositor which I suppose is making the switching bundle advance buffers at the screencast compositor rate.
Ideally the screencasting should:
1. If the screencast region falls within the region of a single display, then synchronize capture with the display refresh rate.
2. If the screencast region falls within the region of a multiple displays, then synchronize capture with the fastest display refresh rate.
Related branches
- PS Jenkins bot (community): Approve (continuous-integration)
- Alan Griffiths: Approve
- Alexandros Frantzis (community): Approve
- Kevin DuBois (community): Approve
-
Diff: 257 lines (+77/-31)1 file modifiedsrc/utils/screencast.cpp (+77/-31)
Changed in mir: | |
assignee: | nobody → Alberto Aguirre (albaguirre) |
Changed in mir: | |
milestone: | none → 0.1.9 |
status: | Triaged → In Progress |
Changed in mir: | |
status: | Fix Committed → Fix Released |
Changed in mir (Ubuntu): | |
importance: | Undecided → Medium |
status: | New → Triaged |
Sounds like a fix would also resolve bug 1294362