[android] External monitor slows rendering - part 2
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mir |
Fix Released
|
Undecided
|
Alan Griffiths |
Bug Description
Setup:
$ sudo stop lightdm
$ mirbacklight
$ $ bin/mir_demo_server --file host --window-manager system-compositor --display-config sidebyside --compositor-report log
$ bin/mir_demo_server --host host --display-config sidebyside --custom-compositor adorning --background-color blue --launch-client 'MIR_CLIENT_
Observe: triangle spins evenly with FPS around 60.
Test: Plug in external monitor
Expect: triangle spins evenly with FPS around 60.
Actual: triangle motion slows and jerks with FPS around 45-60. Vis:
[2016-02-04 10:59:51.443282] perf: : 44.91 FPS, render time 31949.70ms, buffer lag 58.34ms (3 buffers)
[2016-02-04 10:59:52.443801] perf: : 44.00 FPS, render time 2.16ms, buffer lag 64.81ms (3 buffers)
[2016-02-04 10:59:53.459793] perf: : 51.18 FPS, render time 2.22ms, buffer lag 57.93ms (3 buffers)
[2016-02-04 10:59:54.459976] perf: : 60.00 FPS, render time 1.88ms, buffer lag 48.12ms (3 buffers)
[2016-02-04 10:59:55.490405] perf: : 59.22 FPS, render time 1.91ms, buffer lag 48.28ms (3 buffers)
[2016-02-04 10:59:56.493244] perf: : 60.87 FPS, render time 1.83ms, buffer lag 47.95ms (3 buffers)
[2016-02-04 10:59:57.493610] perf: : 60.00 FPS, render time 1.97ms, buffer lag 48.03ms (3 buffers)
[2016-02-04 10:59:58.494037] perf: : 60.00 FPS, render time 2.06ms, buffer lag 47.96ms (3 buffers)
[2016-02-04 10:59:59.507100] perf: : 60.21 FPS, render time 2.14ms, buffer lag 47.70ms (3 buffers)
[2016-02-04 11:00:00.508168] perf: : 57.94 FPS, render time 2.71ms, buffer lag 49.05ms (3 buffers)
[2016-02-04 11:00:01.524863] perf: : 59.05 FPS, render time 0.92ms, buffer lag 49.89ms (3 buffers)
[2016-02-04 11:00:02.525626] perf: : 60.00 FPS, render time 0.86ms, buffer lag 49.18ms (3 buffers)
[2016-02-04 11:00:03.526114] perf: : 60.00 FPS, render time 1.10ms, buffer lag 48.91ms (3 buffers)
[2016-02-04 11:00:04.540672] perf: : 59.17 FPS, render time 1.10ms, buffer lag 49.66ms (3 buffers)
[2016-02-04 11:00:05.541649] perf: : 46.00 FPS, render time 1.32ms, buffer lag 62.06ms (3 buffers)
[2016-02-04 11:00:06.543846] perf: : 45.90 FPS, render time 1.75ms, buffer lag 65.00ms (3 buffers)
[2016-02-04 11:00:07.560205] perf: : 45.27 FPS, render time 2.53ms, buffer lag 63.69ms (3 buffers)
Related branches
- Kevin DuBois (community): Approve
- PS Jenkins bot (community): Approve (continuous-integration)
- Mir CI Bot: Approve (continuous-integration)
-
Diff: 80 lines (+59/-0)1 file modifiedexamples/server_example_adorning_compositor.cpp (+59/-0)
description: | updated |
Changed in mir: | |
status: | New → In Progress |
tags: | added: performance |
Changed in mir: | |
assignee: | nobody → Alan Griffiths (alan-griffiths) |
milestone: | none → 0.20.0 |
Changed in mir: | |
status: | In Progress → Fix Committed |
Interestingly, the host compositor reports ~60FPS (and also repeatedly switches into and out of "bypass"):
[2016-02-04 10:57:47.900691] compositor: Display 0xb1304660 averaged 59.412 FPS, 0.000 ms/frame, latency 8.190 ms, 60 frames over 1.009 sec, 100% bypassed
[2016-02-04 10:57:47.901087] compositor: Display 0xb1311aa0 averaged 59.462 FPS, 0.305 ms/frame, latency 7.955 ms, 60 frames over 1.009 sec, 76% bypassed
[2016-02-04 10:57:47.941740] compositor: Display 0xb1311aa0 bypass OFF
[2016-02-04 10:57:47.963471] compositor: Display 0xb1311aa0 bypass ON
[2016-02-04 10:57:48.008427] compositor: Display 0xb1311aa0 bypass OFF
[2016-02-04 10:57:48.030036] compositor: Display 0xb1311aa0 bypass ON
[2016-02-04 10:57:48.092450] compositor: Display 0xb1311aa0 bypass OFF
[2016-02-04 10:57:48.115005] compositor: Display 0xb1311aa0 bypass ON
[2016-02-04 10:57:48.159564] compositor: Display 0xb1311aa0 bypass OFF
[2016-02-04 10:57:48.181844] compositor: Display 0xb1311aa0 bypass ON
[2016-02-04 10:57:48.232569] compositor: Display 0xb1311aa0 bypass OFF
[2016-02-04 10:57:48.249172] compositor: Display 0xb1311aa0 bypass ON
[2016-02-04 10:57:48.295502] compositor: Display 0xb1311aa0 bypass OFF
[2016-02-04 10:57:48.320681] compositor: Display 0xb1311aa0 bypass ON
[2016-02-04 10:57:48.392740] compositor: Display 0xb1311aa0 bypass OFF
[2016-02-04 10:57:48.409587] compositor: Display 0xb1311aa0 bypass ON
[2016-02-04 10:57:48.906215] compositor: Display 0xb1304660 averaged 59.668 FPS, 0.000 ms/frame, latency 7.422 ms, 60 frames over 1.005 sec, 100% bypassed
[2016-02-04 10:57:48.906459] compositor: Display 0xb1311aa0 averaged 59.670 FPS, 0.250 ms/frame, latency 7.313 ms, 60 frames over 1.005 sec, 88% bypassed