• Fady Samuel's avatar
    Surface synchronization: Improve input throttling on Chrome OS · 99e2d691
    Fady Samuel authored
    Input throttling with surface synchronization didn't always work well.
    
    Occasionally a huge number of input events from Ash would be processed
    between the time a resize request is first initiated and the time the
    surface synchronization event began. This caused a lot of unnecessary
    jank. Traces showed that the browser UI process was busy doing a lot of input
    processing work but the resize in the renderer consumed very little
    time so there was definitely an opportunity to improve input throttling.
    
    This CL takes a different (simpler/better) approach. As soon as a
    synchronization event is detected in DelegatedFrameHost (we know we
    will produce a UI CompositorFrame that will synchronize with the
    renderer), we throttle input events until a browser UI commit
    (OnChildResizing guarantees an upcoming commit).
    
    Bug: 672962
    Change-Id: I75c8328bb846eff2817a805e63a6367ebb0714a2
    Reviewed-on: https://chromium-review.googlesource.com/822658
    Commit-Queue: Fady Samuel <fsamuel@chromium.org>
    Reviewed-by: default avatarScott Violet <sky@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#523788}
    99e2d691
window_tree_host.cc 15.8 KB