Visual "pop" from wallpaper blur at lock screen on lid open |
|||||
Issue descriptionGoogle Chrome 67.0.3363.0 (Official Build) canary (64-bit) Revision 0 Platform 10464.0.0 (Official Build) canary-channel samus * Set wallpaper to something high contrast or with sharp lines (e.g. the default link wallpaper) * Set device to lock screen on suspend (or use a corp Chromebook) * Close lid and wait for device to suspend * Open lid, watch the screen closely On lid open the wallpaper is not blurred. 100 to 200 ms later the blur effect applies. The causes a visual "pop" that is distracting, especially if the display is in your peripheral vision. It looks janky and unpolished. I would expect the wallpaper to be blurred when the lock screen first paints. Repro tip: Instead of putting the device flat on a table, tilt it up vertically on the hinge. Open the lid by rotating the keyboard down flat on the table. This lets you see the screen better as the keyboard goes down. | | | | | => | | | | o o----- Dunno if this is wallpaper or lock screen, CC-ing a few people
,
Mar 9 2018
+tbarzic, is it the same with the issue you worked on? I believe this is related to power_event_observer?
,
Mar 9 2018
I've had a cl in plan that should address this.
,
Mar 13 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c7dbb870ac431aa1767e2e0c9a68106502f0571e commit c7dbb870ac431aa1767e2e0c9a68106502f0571e Author: Toni Barzic <tbarzic@chromium.org> Date: Tue Mar 13 23:08:10 2018 Wait for animated wallpaper changes to finish before suspending displays PowerEventObserver delays display suspend until lock screen UI is shown and compositors submit enough frames to know the UI changes have reached displays. This does not account for wallpaper changes due to screen lock: * On screen lock, the active wallpaper will be changed with its blurred version. * If screen lock changes the active user (e.g. if the screen is locked from the secondary user), the wallpaper will change to the new active user's blurred wallpaper. Given that PowerEventObserver does not ensure wallpaper switch is done before it stops drawing to the display, the first frame shown on the device resume might still contain the UI from before wallpaper change. This changes PowerEventObserver to additionally wait for any active wallpaper changes (which can be detected by checking WallpaperWidgetController::IsAnimating - set while wallpaper widget is being changed) to finish before it starts waiting for compositor frames to get composited, thus ensuring the correct wallpaper is set when the display/compositing is suspended. Adds the following methods to WallpaperWidgetController: * AddPendingAnimationEndCallback - to provide a way for PowerEventObserver to get notified when the pending wallpaper change completes * EndPendingAnimation which can be used to force immediate wallpaper change when device starts suspending (and prevents suspend flow from being blocked on unnecessarily waiting for new wallpaper animation) BUG= 820436 , 803762 Change-Id: Iad2074280ebba740b95c50b9d60a028bf5a0d45c Reviewed-on: https://chromium-review.googlesource.com/956757 Reviewed-by: Dan Erat <derat@chromium.org> Reviewed-by: Wenzhao (Colin) Zang <wzang@chromium.org> Commit-Queue: Toni Barzic <tbarzic@chromium.org> Cr-Commit-Position: refs/heads/master@{#542945} [modify] https://crrev.com/c7dbb870ac431aa1767e2e0c9a68106502f0571e/ash/system/power/power_event_observer.cc [modify] https://crrev.com/c7dbb870ac431aa1767e2e0c9a68106502f0571e/ash/system/power/power_event_observer.h [modify] https://crrev.com/c7dbb870ac431aa1767e2e0c9a68106502f0571e/ash/system/power/power_event_observer_unittest.cc [modify] https://crrev.com/c7dbb870ac431aa1767e2e0c9a68106502f0571e/ash/wallpaper/wallpaper_widget_controller.cc [modify] https://crrev.com/c7dbb870ac431aa1767e2e0c9a68106502f0571e/ash/wallpaper/wallpaper_widget_controller.h
,
Mar 23 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/524c3741778d2b9e77645de1605711efa68896b2 commit 524c3741778d2b9e77645de1605711efa68896b2 Author: Toni Barzic <tbarzic@chromium.org> Date: Fri Mar 23 21:02:32 2018 Merge: Wait for animated wallpaper changes to finish before suspending displays PowerEventObserver delays display suspend until lock screen UI is shown and compositors submit enough frames to know the UI changes have reached displays. This does not account for wallpaper changes due to screen lock: * On screen lock, the active wallpaper will be changed with its blurred version. * If screen lock changes the active user (e.g. if the screen is locked from the secondary user), the wallpaper will change to the new active user's blurred wallpaper. Given that PowerEventObserver does not ensure wallpaper switch is done before it stops drawing to the display, the first frame shown on the device resume might still contain the UI from before wallpaper change. This changes PowerEventObserver to additionally wait for any active wallpaper changes (which can be detected by checking WallpaperWidgetController::IsAnimating - set while wallpaper widget is being changed) to finish before it starts waiting for compositor frames to get composited, thus ensuring the correct wallpaper is set when the display/compositing is suspended. Adds the following methods to WallpaperWidgetController: * AddPendingAnimationEndCallback - to provide a way for PowerEventObserver to get notified when the pending wallpaper change completes * EndPendingAnimation which can be used to force immediate wallpaper change when device starts suspending (and prevents suspend flow from being blocked on unnecessarily waiting for new wallpaper animation) BUG= 820436 , 803762 TBR=tbarzic@chromium.org (cherry picked from commit c7dbb870ac431aa1767e2e0c9a68106502f0571e) Change-Id: Iad2074280ebba740b95c50b9d60a028bf5a0d45c Reviewed-on: https://chromium-review.googlesource.com/956757 Reviewed-by: Dan Erat <derat@chromium.org> Reviewed-by: Wenzhao (Colin) Zang <wzang@chromium.org> Commit-Queue: Toni Barzic <tbarzic@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#542945} Reviewed-on: https://chromium-review.googlesource.com/978842 Reviewed-by: Toni Barzic <tbarzic@chromium.org> Cr-Commit-Position: refs/branch-heads/3359@{#408} Cr-Branched-From: 66afc5e5d10127546cc4b98b9117aff588b5e66b-refs/heads/master@{#540276} [modify] https://crrev.com/524c3741778d2b9e77645de1605711efa68896b2/ash/system/power/power_event_observer.cc [modify] https://crrev.com/524c3741778d2b9e77645de1605711efa68896b2/ash/system/power/power_event_observer.h [modify] https://crrev.com/524c3741778d2b9e77645de1605711efa68896b2/ash/system/power/power_event_observer_unittest.cc [modify] https://crrev.com/524c3741778d2b9e77645de1605711efa68896b2/ash/wallpaper/wallpaper_widget_controller.cc [modify] https://crrev.com/524c3741778d2b9e77645de1605711efa68896b2/ash/wallpaper/wallpaper_widget_controller.h
,
Mar 23 2018
|
|||||
►
Sign in to add a comment |
|||||
Comment 1 by jamescook@chromium.org
, Mar 9 2018