• miletus@chromium.org's avatar
    Reschedule COMPOSITE_EVENTUALLY instead of COMPOSITE_IMMEDIATELY if we miss a browser frame · 7fd6959f
    miletus@chromium.org authored
    If we miss a browser frame, reschedule a new COMPOSITE_EVENTUALL, there will be
    high latency/jank before the next composite happens, but this will keep the
    browser compositor and renderer compositor in sync (low latency mode). While if
    we COMPOSITOR_IMMEDIATELY, it could make the browser compositor always one frame
    behind renderer compositor (high latency mode).
    
    BUG=379264
    TEST=record a trace for the following test:
         scroll on a simple page, first with top control hidden, then transit into showing the
         top control.
         With COMPOSITE_IMMEDIATELY, the latency graph shows that the scroll latency jumps up
         at the point of transition and stays at high latency mode.
         With COMPOSITE_EVENTUALL, the latency graph shows that the scroll latency jumps up
         at the point of transition but comes back to normal after.
    
    Review URL: https://codereview.chromium.org/310873002
    
    git-svn-id: svn://svn.chromium.org/chrome/trunk/src@274640 0039d316-1c4b-4281-b951-d872f2087c98
    7fd6959f
compositor_impl_android.cc 24.1 KB