[regression] NBS uses quad-buffers even when not required

Bug #1565596 reported by Daniel van Vugt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mir
New
Medium
Unassigned
mir (Ubuntu)
New
Medium
Unassigned

Bug Description

Since the fix for bug 1557962 landed, NBS allocates four buffers to the client surface even when not required (running in a window without overlays):

$ env MIR_CLIENT_PERF_REPORT=log glmark2-mir -b texture
[2016-04-04 11:15:11.894754] perf: glmark2 2014.03+git20150611.fa71af2d: 9051.00 FPS, render time 0.06ms, buffer lag 0.26ms (4 buffers)
[2016-04-04 11:15:12.894807] perf: glmark2 2014.03+git20150611.fa71af2d: 8706.00 FPS, render time 0.06ms, buffer lag 0.28ms (4 buffers)
[2016-04-04 11:15:13.895012] perf: glmark2 2014.03+git20150611.fa71af2d: 8806.00 FPS, render time 0.06ms, buffer lag 0.27ms (4 buffers)
 FPS: 8817 FrameTime: 0.113 ms

Compare to BufferQueue:
[2016-04-04 11:17:12.611400] perf: glmark2 2014.03+git20150611.fa71af2d: 8789.00 FPS, render time 0.06ms, buffer lag 0.27ms (3 buffers)
[2016-04-04 11:17:13.611470] perf: glmark2 2014.03+git20150611.fa71af2d: 8707.00 FPS, render time 0.06ms, buffer lag 0.28ms (3 buffers)
[2016-04-04 11:17:14.611555] perf: glmark2 2014.03+git20150611.fa71af2d: 8462.00 FPS, render time 0.06ms, buffer lag 0.28ms (3 buffers)

The fourth buffer is technically only required when using framedropping with bypass/overlays simultaneously.

description: updated
tags: added: regression
summary: - NBS uses quad-buffers even when not required
+ [regression] NBS uses quad-buffers even when not required
tags: added: performance
tags: removed: performance
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Bumped to high, even if temporarily. Because we need to be mindful that this bug will probably increase Unity8's latency by one frame.

Roughly explained here: https://code.launchpad.net/~vanvugt/mir/ClientLatency-of-overlays/+merge/291348

tags: added: performance
Changed in mir:
importance: Medium → High
summary: - [regression] NBS uses quad-buffers even when not required
+ [regression] NBS uses quad-buffers (increases latency) even when not
+ required
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Dropped again. It looks like r3433 only uses quad buffers with swap interval 0. So there's no latency penalty.

summary: - [regression] NBS uses quad-buffers (increases latency) even when not
- required
+ [regression] NBS uses quad-buffers even when not required
Changed in mir:
importance: High → Medium
Revision history for this message
Michał Sawicz (saviq) wrote :

Syncing task from Mir.

Changed in mir (Ubuntu):
importance: Undecided → Medium
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.