Since we basically mirror the threaded compositor's commit flow in the remote compositor on the client, we have to block the main thread for a commit. We also deserialize all the content and images into the LayerTreeHost first, which is an expensive operation and the entire process blocks the application's UI thread for seconds. See crbug/622046 for an example.
I think this is something that will be addressed as a part of the broader refactor of being a CC embedder on the client, so these details remain out of cc. One idea, we could run the compositor's main thread on a separate thread rather than the application UI thread so its never blocked. Input can be dispatched directly from the UI thread to the impl thread.
Comment 1 by khushals...@chromium.org
, Aug 30 2016