Here's a fresh profile from the latest lp:mir code (using NBS now).
It shows much the same problem as essentially 10% of the server's real time is spent under clean_onscreen_buffers sending buffers to clients via synchronous socket writes.
Although you need to keep in mind this profile is exaggerated with 49 clients rendering simultaneously. So the fact that protocol IO is taking around 50% of Mir's time and the other 50% rendering is not interesting. What is interesting is the fact that 20% of the renderer's time is still spent in IPC sending buffer replies when it should be doing rendering.
Here's a fresh profile from the latest lp:mir code (using NBS now).
It shows much the same problem as essentially 10% of the server's real time is spent under clean_onscreen_ buffers sending buffers to clients via synchronous socket writes.
Although you need to keep in mind this profile is exaggerated with 49 clients rendering simultaneously. So the fact that protocol IO is taking around 50% of Mir's time and the other 50% rendering is not interesting. What is interesting is the fact that 20% of the renderer's time is still spent in IPC sending buffer replies when it should be doing rendering.