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 40.
~~~~
From the investigation of lp:1532202 this relates to a number of factors - the "--custom-compositor adorning" is more expensive than the default when painting a blank external monitor, and (on android) the host compositor repaints both outputs when a frame is posted by the nested server (which, with the above patch, posts the primary display when the client posts).
Setup:
Apply lp:~alan-griffiths/mir/fix-1532202 and build
$ sudo stop lightdm PERF_REPORT= log bin/mir_demo_server --host host --display-config sidebyside --custom-compositor adorning --background-color blue --launch-client mir_demo_ client_ egltriangle
$ mirbacklight
$ bin/mir_demo_server --file host --window-manager system-compositor --display-config sidebyside --custom-compositor adorning --background-color purple --compositor-report log
$ 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 40.
~~~~
From the investigation of lp:1532202 this relates to a number of factors - the "--custom- compositor adorning" is more expensive than the default when painting a blank external monitor, and (on android) the host compositor repaints both outputs when a frame is posted by the nested server (which, with the above patch, posts the primary display when the client posts).