New issue
Advanced search Search tips

Issue 835102 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: May 2018
Cc:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Feature



Sign in to add a comment

Use surfaceRedrawAsync callbacks to synchronize renderer frames on device rotation.

Project Member Reported by khushals...@chromium.org, Apr 20 2018

Issue description

Device rotation on Android currently has a sub-optimal experience. When the CompositorView is resized, the renderer needs to submit a new frame, most likely doing a relayout and raster, with the updated size. This requires a round trip to the renderer process. While this is happening, on the browser we draw with an incorrectly sized frame and use the page's background color to gutter the uncovered regions. Fullscreen is an exception where we draw solid black until the renderer submits a correctly sized frame.

On Andoird O and above, a better way to fix this is to use surfaceRedrawNeededAsync callbacks, to synchronize the app's rendering with the framework. This callback is dispatched when the view is resized, and allows the app to block updates to the window until it has submitted an appropriate frame. By deferring the dispatch of this callback, until we draw a correctly sized frame from the renderer, we can ensure a much smoother transition.
 
Wasn't this fixed?
Owner: ericrk@chromium.org
Status: Fixed (was: Assigned)
Yup, https://chromium-review.googlesource.com/c/chromium/src/+/1031129 fixed this.

Sign in to add a comment