NBS causes sudden loss of performance after un-fullscreening a swap interval zero client
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mir |
Fix Released
|
Medium
|
Kevin DuBois | ||
mir (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
NBS causes loss of frame dropping after un-fullscreening a window. When this occurs, the client only ever sees 2 buffers instead of 3, and so starts getting incorrectly sync'd to the screen:
[2016-03-15 18:29:08.885810] perf: mir_demo_
[2016-03-15 18:29:09.889336] perf: mir_demo_
[2016-03-15 18:29:10.892904] perf: mir_demo_
[2016-03-15 18:29:11.896299] perf: mir_demo_
[2016-03-15 18:29:12.906866] perf: mir_demo_
[2016-03-15 18:29:13.907306] perf: mir_demo_
[2016-03-15 18:29:14.908295] perf: mir_demo_
[2016-03-15 18:29:15.908972] perf: mir_demo_
[2016-03-15 18:29:16.909945] perf: mir_demo_
[2016-03-15 18:29:17.910827] perf: mir_demo_
[2016-03-15 18:29:18.911693] perf: mir_demo_
[2016-03-15 18:29:19.912521] perf: mir_demo_
[2016-03-15 18:29:20.913369] perf: mir_demo_
Related branches
- Alan Griffiths: Approve
- Daniel van Vugt: Abstain
- Mir CI Bot: Approve (continuous-integration)
- Cemil Azizoglu (community): Approve
-
Diff: 280 lines (+136/-25)4 files modifiedsrc/client/buffer_stream.cpp (+21/-0)
src/client/buffer_vault.cpp (+45/-11)
src/client/buffer_vault.h (+5/-0)
tests/unit-tests/client/test_buffer_vault.cpp (+65/-14)
description: | updated |
summary: |
- NBS causes loss of performance after un-fullscreening + NBS causes sudden loss of performance after un-fullscreening a swap + interval zero client |
Changed in mir: | |
assignee: | nobody → Kevin DuBois (kdub) |
importance: | Undecided → Medium |
status: | New → Fix Committed |
milestone: | none → 0.22.0 |
Changed in mir: | |
status: | Fix Committed → Fix Released |
The curious part if NBS only offers the client 2 buffers after it's been resized. So that's why the client can't perform framedropping any more.