Reland "Revert "Skip MISSED frames in browser compositor""
This reverts commit 1374013c and disables some media tests that flake due to a race that is exposed by the revert. Reason for revert: causes jank https://crbug.com/947587 The original reason for landing this CL does not apply anymore. It is no longer the case that viz skips a BeginFrame if an undrawn frame exists. See https://crrev.com/c/1521967 Original change's description: > Skip MISSED frames in browser compositor > > This CL fixes a dropped frame issue when a scroll transitions from > dragging to a momentum "fling" phase. When the user is scrolling and > lifts their finger with velocity, the scroll continues according to a > decelerating animation curve. When this happens, the FlingController > receives a FlingStart instead of a ScrollUpdate and it uses that to > create an animation curve. > > When this happens the browser process registers itself as an animation > observer so that it begins to receive BeginFrame signals. However, the > display service issues a MISSED BeginFrame for the frame in which the > animation was registered. This will frequently miss submission in the > current frame, so it submit next frame and won't receive a BeginFrame > then. This leads to a frame without the browser ticking the fling > animation. See https://crbug.com/882907#c50 for a diagram and more > complete explanation of the issue. > > The browser process shouldn't require processing MISSED frames so in > this CL we simply drop MISSED frames if we're in the browser compositor > (commit_to_active_tree is true). Longer term, the display scheduler > should make these decisions but this is an immediate fix for the fling > issue. > > Bug: 882907 > Change-Id: Ieb6d14051dc05c5e177da1920dbd27684f941d29 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1517164 > Commit-Queue: David Bokan <bokan@chromium.org> > Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org> > Cr-Commit-Position: refs/heads/master@{#640172} TBR=bokan@chromium.org,sunnyps@chromium.org Bug: 947587,882907,963141 Change-Id: Id23b586f89de67f9e77212ee265f4ad2db5a6fe7 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1613363Reviewed-by:Saman Sami <samans@chromium.org> Reviewed-by:
David Bokan <bokan@chromium.org> Commit-Queue: Saman Sami <samans@chromium.org> Cr-Commit-Position: refs/heads/master@{#660014}
Showing
Please register or sign in to comment