AIUI on each post by the client the nested server is scheduling a composite of both "display" surfaces - and both composites result in a post to the host server. And on each post to a nested "display" surface the host server is scheduling a composite of both "display" surfaces - so, although the external display never has anything on it, it can be drawn four times for each client post. At best that's inefficient, at worst it causes the slow rendering reported here.
But the "hack" testing for an empty renderable_list only addresses this for the artificial case of there being nothing on the external monitor. What should really be tested is whether any of the listed renderables has posted since the last render.
> So does this help?: --nbuffers=4
Worth trying, but no.
AIUI on each post by the client the nested server is scheduling a composite of both "display" surfaces - and both composites result in a post to the host server. And on each post to a nested "display" surface the host server is scheduling a composite of both "display" surfaces - so, although the external display never has anything on it, it can be drawn four times for each client post. At best that's inefficient, at worst it causes the slow rendering reported here.
But the "hack" testing for an empty renderable_list only addresses this for the artificial case of there being nothing on the external monitor. What should really be tested is whether any of the listed renderables has posted since the last render.