Performance loss with NBS and overlays on
Bug #1578159 reported by
Kevin DuBois
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mir |
Fix Released
|
Critical
|
Kevin DuBois | ||
0.23 |
Fix Released
|
Critical
|
Kevin Dubois | ||
mir (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
If you run a server with overlays enabled on android devices with a client, sporadically, the performance will dip between 1/2 vsync rate and vsync rate. The dip is dependent on load, (it seems loads that tax the system at near-vsync rates seem to cause the problem).
Should be fixed before 0.23 is published, so tagging as critical.
Related branches
lp:~kdub/mir/fix-1578159
- Daniel van Vugt: Abstain
- Cemil Azizoglu (community): Approve
- Alan Griffiths: Approve
- Mir CI Bot: Approve (continuous-integration)
-
Diff: 149 lines (+68/-6)4 files modifiedsrc/client/buffer_vault.cpp (+8/-3)
src/client/buffer_vault.h (+1/-0)
tests/integration-tests/test_buffer_scheduling.cpp (+38/-3)
tests/unit-tests/client/test_buffer_vault.cpp (+21/-0)
tags: | added: performance |
summary: |
- performance dip with nbs and overlays on + Performance loss with NBS and overlays on |
no longer affects: | mir/0.24 |
Changed in mir: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
seems what's happening is an overlaid buffer is returned to the client that has a raised fence. The delay is cleared shortly, but the delay is unnecessary, and when combined with the correct load, causes quantization down to 1/2 vsync (sporaditally). We always have a spare, unfenced buffer around to give out, so we should prefer to give that out.