Comment 0 for bug 1565596

Revision history for this message
Daniel van Vugt (vanvugt) wrote : NBS uses quad-buffers even when not required

Since the fix for bug 1557962 landed, NBS allocates four buffers to the client surface even when not required:

$ 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.