• Rahul Arakeri's avatar
    [Compositor threaded scrollbar scrolling] Jittery thumb fix. · 9211cdbd
    Rahul Arakeri authored
    This CL fixes an issue with scrollbar thumb drags being jittery. The
    pointermove(s) are not Vsync aligned. When the first GSU is processed,
    it gets queued in the compositor thread event queue. A second request
    (to get a GSU for a pointermove) within the same frame will end up
    calculating an incorrect delta (as ComputeThumbQuadRect would not have
    accounted for the delta in the first GSU that was not yet dispatched).
    This leads to generating a GSU with a delta that is larger than what it
    is supposed to be. When these queued GSUs are finally dispatched, the
    subsequent pointermove will make the thumb jump backward and this
    problem continues on leading to a jittery thumb drag experience. To fix
    this, we process only 1 GSU per frame when thumb drag is in progress.
    
    Bug: 986174
    Change-Id: Ied8103ffc447966fc15d0052c5295f896dcbcc29
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1770088
    Commit-Queue: Rahul Arakeri <arakeri@microsoft.com>
    Reviewed-by: default avatarDavid Bokan <bokan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#691973}
    9211cdbd
scrollbar_controller.h 5.16 KB