Web contents eviction due to occlusion is causing jank in overview/tablet mode transition. |
|||||||||||||
Issue descriptionI'll first add suspend/resume on occlusion tracker so that we can avoid during overview/tablet mode transition where the unocclusion can happen to many windows at the same time. We'll the look into other improvement sush as: 1) Do not discard last X pages. ChromeOS overview mode does allow a user to quickly switch tasks between top and second, and these pages shouldn't be discarded. 2) Show thumbnail/monochrome stale page while reloading. We already have a code that takes monochrome page for overscroll navigation, so we may be able to reuse the logic?
,
Oct 22
I wrote a CL that is able to display a screenshot of a page https://chromium-review.googlesource.com/c/chromium/src/+/732038, but never landed it because I was told that instead of saving a PNG screenshot of a page, we could keep the frame alive in the GPU process. You may want to ask piman@ about that.
,
Oct 22
thanks, i'll file a separate bug for it.
,
Oct 22
,
Oct 22
WindowOcclusionTracker already have an ability to pause, so all we need is to pause during the animation.
,
Oct 31
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a9fdf9b70f437fe85f00d73d7879ba75af7e9159 commit a9fdf9b70f437fe85f00d73d7879ba75af7e9159 Author: Mitsuru Oshima <oshima@chromium.org> Date: Wed Oct 31 11:12:29 2018 Overview optimizations * Pause occusion tracker during overview animation * Activate the text filter after animation * Don't animate backdrop window during overview animation. * Fix the bounds change issue in WindowGrid. It shouldn't change the parent window's bounds. in both clamshell and tabletmode. The web contents should load after animations without backdrop animation. No gap at the bottom of the screen after exiting overview mode. Bug: 898077 , 897387 Test: no functional change. Manually tested visual change by entering/exiting overview mode Change-Id: I60c2709c5394a565bae6d0c4bfdd7006e2e76496 Reviewed-on: https://chromium-review.googlesource.com/c/1304973 Commit-Queue: Mitsuru Oshima <oshima@chromium.org> Reviewed-by: Sammie Quon <sammiequon@chromium.org> Cr-Commit-Position: refs/heads/master@{#604206} [modify] https://crrev.com/a9fdf9b70f437fe85f00d73d7879ba75af7e9159/ash/wm/overview/overview_utils.cc [modify] https://crrev.com/a9fdf9b70f437fe85f00d73d7879ba75af7e9159/ash/wm/overview/window_grid.cc [modify] https://crrev.com/a9fdf9b70f437fe85f00d73d7879ba75af7e9159/ash/wm/overview/window_selector.cc [modify] https://crrev.com/a9fdf9b70f437fe85f00d73d7879ba75af7e9159/ash/wm/overview/window_selector.h [modify] https://crrev.com/a9fdf9b70f437fe85f00d73d7879ba75af7e9159/ash/wm/overview/window_selector_controller.cc [modify] https://crrev.com/a9fdf9b70f437fe85f00d73d7879ba75af7e9159/ash/wm/overview/window_selector_controller.h [modify] https://crrev.com/a9fdf9b70f437fe85f00d73d7879ba75af7e9159/ash/wm/workspace/backdrop_controller.cc [modify] https://crrev.com/a9fdf9b70f437fe85f00d73d7879ba75af7e9159/ash/wm/workspace/backdrop_controller.h [modify] https://crrev.com/a9fdf9b70f437fe85f00d73d7879ba75af7e9159/ash/wm/workspace/workspace_layout_manager.cc
,
Oct 31
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5dc1b34404597c461844ae64dbcf11ce6a14b8e1 commit 5dc1b34404597c461844ae64dbcf11ce6a14b8e1 Author: Mitsuru Oshima <oshima@chromium.org> Date: Wed Oct 31 22:50:16 2018 Revert "Overview optimizations" This reverts commit a9fdf9b70f437fe85f00d73d7879ba75af7e9159. Reason for revert: due to null reference. I'll revert and land new one with fix to make merge easier. Original change's description: > Overview optimizations > > * Pause occusion tracker during overview animation > * Activate the text filter after animation > * Don't animate backdrop window during overview animation. > * Fix the bounds change issue in WindowGrid. It shouldn't change > the parent window's bounds. > > in both clamshell and tabletmode. > The web contents should load after animations without backdrop animation. > No gap at the bottom of the screen after exiting overview mode. > > Bug: 898077 , 897387 > Test: no functional change. Manually tested visual change by entering/exiting overview mode > Change-Id: I60c2709c5394a565bae6d0c4bfdd7006e2e76496 > Reviewed-on: https://chromium-review.googlesource.com/c/1304973 > Commit-Queue: Mitsuru Oshima <oshima@chromium.org> > Reviewed-by: Sammie Quon <sammiequon@chromium.org> > Cr-Commit-Position: refs/heads/master@{#604206} TBR=oshima@chromium.org,sammiequon@chromium.org Change-Id: Ied4ce4d12abc962bffead6e22bbd7e2a837ad544 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 898077 , 897387 Reviewed-on: https://chromium-review.googlesource.com/c/1311793 Commit-Queue: Mitsuru Oshima <oshima@chromium.org> Reviewed-by: Mitsuru Oshima <oshima@chromium.org> Cr-Commit-Position: refs/heads/master@{#604430} [modify] https://crrev.com/5dc1b34404597c461844ae64dbcf11ce6a14b8e1/ash/wm/overview/overview_utils.cc [modify] https://crrev.com/5dc1b34404597c461844ae64dbcf11ce6a14b8e1/ash/wm/overview/window_grid.cc [modify] https://crrev.com/5dc1b34404597c461844ae64dbcf11ce6a14b8e1/ash/wm/overview/window_selector.cc [modify] https://crrev.com/5dc1b34404597c461844ae64dbcf11ce6a14b8e1/ash/wm/overview/window_selector.h [modify] https://crrev.com/5dc1b34404597c461844ae64dbcf11ce6a14b8e1/ash/wm/overview/window_selector_controller.cc [modify] https://crrev.com/5dc1b34404597c461844ae64dbcf11ce6a14b8e1/ash/wm/overview/window_selector_controller.h [modify] https://crrev.com/5dc1b34404597c461844ae64dbcf11ce6a14b8e1/ash/wm/workspace/backdrop_controller.cc [modify] https://crrev.com/5dc1b34404597c461844ae64dbcf11ce6a14b8e1/ash/wm/workspace/backdrop_controller.h [modify] https://crrev.com/5dc1b34404597c461844ae64dbcf11ce6a14b8e1/ash/wm/workspace/workspace_layout_manager.cc
,
Nov 1
,
Nov 2
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/46a9bbb1c1e2371ef52c81ecca7085c7fd00b5c2 commit 46a9bbb1c1e2371ef52c81ecca7085c7fd00b5c2 Author: Mitsuru Oshima <oshima@chromium.org> Date: Fri Nov 02 04:58:15 2018 Overview optimizations This is 2nd attempt to land: crrev.com/c/1304973 [2] are the difference from above CL. *[2] Added null check in OnStartingAnimationComplete. * Pause occusion tracker during overview animation [2] wait 5000ms when exiting overview before resume because a user may re-enter overview [2] wait 50ms when entering overview before resume because it can take 2 frame to finish draing the frame after animation observer is called. * Activate the text filter after animation * [2]Animate shelf after overview animation. * [2] Improve blur animation: Use Compositor's AnimationObesrver to drive animation Progress only by 2 to reduce the frequency. * Don't animate backdrop window during overview animation. * Fix the bounds change issue in WindowGrid. It shouldn't change the parent window's bounds. Bug: 898077 , 897387 , b/118675936 Test: no functional change. Manually tested visual change by entering/exiting overview mode in both clamshell and tabletmode. The web contents should load after animations without backdrop animation. No gap at the bottom of the screen after exiting overview mode. Change-Id: I5e5dc17afd62d4dc477d87becdeee91c55bd81ca Reviewed-on: https://chromium-review.googlesource.com/c/1304973 Commit-Queue: Mitsuru Oshima <oshima@chromium.org> Reviewed-by: Sammie Quon <sammiequon@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#604206} Reviewed-on: https://chromium-review.googlesource.com/c/1312614 Reviewed-by: Malay Keshav <malaykeshav@chromium.org> Cr-Commit-Position: refs/heads/master@{#604844} [modify] https://crrev.com/46a9bbb1c1e2371ef52c81ecca7085c7fd00b5c2/ash/shelf/shelf_layout_manager.cc [modify] https://crrev.com/46a9bbb1c1e2371ef52c81ecca7085c7fd00b5c2/ash/shelf/shelf_layout_manager.h [modify] https://crrev.com/46a9bbb1c1e2371ef52c81ecca7085c7fd00b5c2/ash/wm/overview/overview_utils.cc [modify] https://crrev.com/46a9bbb1c1e2371ef52c81ecca7085c7fd00b5c2/ash/wm/overview/window_grid.cc [modify] https://crrev.com/46a9bbb1c1e2371ef52c81ecca7085c7fd00b5c2/ash/wm/overview/window_selector.cc [modify] https://crrev.com/46a9bbb1c1e2371ef52c81ecca7085c7fd00b5c2/ash/wm/overview/window_selector.h [modify] https://crrev.com/46a9bbb1c1e2371ef52c81ecca7085c7fd00b5c2/ash/wm/overview/window_selector_controller.cc [modify] https://crrev.com/46a9bbb1c1e2371ef52c81ecca7085c7fd00b5c2/ash/wm/overview/window_selector_controller.h [modify] https://crrev.com/46a9bbb1c1e2371ef52c81ecca7085c7fd00b5c2/ash/wm/overview/window_selector_item.cc [modify] https://crrev.com/46a9bbb1c1e2371ef52c81ecca7085c7fd00b5c2/ash/wm/workspace/backdrop_controller.cc [modify] https://crrev.com/46a9bbb1c1e2371ef52c81ecca7085c7fd00b5c2/ash/wm/workspace/backdrop_controller.h [modify] https://crrev.com/46a9bbb1c1e2371ef52c81ecca7085c7fd00b5c2/ash/wm/workspace/workspace_layout_manager.cc
,
Nov 2
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3f852913c7c42a63171ed611ff8ddc47faaccbe7 commit 3f852913c7c42a63171ed611ff8ddc47faaccbe7 Author: Mitsuru Oshima <oshima@chromium.org> Date: Fri Nov 02 21:20:49 2018 Revert "Overview optimizations" This reverts commit 46a9bbb1c1e2371ef52c81ecca7085c7fd00b5c2. Reason for revert: <INSERT REASONING HERE> Original change's description: > Overview optimizations > > This is 2nd attempt to land: crrev.com/c/1304973 > [2] are the difference from above CL. > > *[2] Added null check in OnStartingAnimationComplete. > * Pause occusion tracker during overview animation > [2] wait 5000ms when exiting overview before resume > because a user may re-enter overview > [2] wait 50ms when entering overview before resume > because it can take 2 frame to finish draing the frame > after animation observer is called. > * Activate the text filter after animation > * [2]Animate shelf after overview animation. > * [2] Improve blur animation: > Use Compositor's AnimationObesrver to drive animation > Progress only by 2 to reduce the frequency. > * Don't animate backdrop window during overview animation. > * Fix the bounds change issue in WindowGrid. It shouldn't change > the parent window's bounds. > > > Bug: 898077 , 897387 , b/118675936 > Test: no functional change. Manually tested visual change by entering/exiting overview mode > in both clamshell and tabletmode. > The web contents should load after animations without backdrop animation. > No gap at the bottom of the screen after exiting overview mode. > > Change-Id: I5e5dc17afd62d4dc477d87becdeee91c55bd81ca > Reviewed-on: https://chromium-review.googlesource.com/c/1304973 > Commit-Queue: Mitsuru Oshima <oshima@chromium.org> > Reviewed-by: Sammie Quon <sammiequon@chromium.org> > Cr-Original-Commit-Position: refs/heads/master@{#604206} > Reviewed-on: https://chromium-review.googlesource.com/c/1312614 > Reviewed-by: Malay Keshav <malaykeshav@chromium.org> > Cr-Commit-Position: refs/heads/master@{#604844} TBR=oshima@chromium.org,sammiequon@chromium.org,malaykeshav@chromium.org Change-Id: Ia07f696386ce2889a1d6344218be355a3515975c No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 898077 , 897387 , b/118675936 Reviewed-on: https://chromium-review.googlesource.com/c/1316169 Reviewed-by: Mitsuru Oshima <oshima@chromium.org> Commit-Queue: Mitsuru Oshima <oshima@chromium.org> Cr-Commit-Position: refs/heads/master@{#605052} [modify] https://crrev.com/3f852913c7c42a63171ed611ff8ddc47faaccbe7/ash/shelf/shelf_layout_manager.cc [modify] https://crrev.com/3f852913c7c42a63171ed611ff8ddc47faaccbe7/ash/shelf/shelf_layout_manager.h [modify] https://crrev.com/3f852913c7c42a63171ed611ff8ddc47faaccbe7/ash/wm/overview/overview_utils.cc [modify] https://crrev.com/3f852913c7c42a63171ed611ff8ddc47faaccbe7/ash/wm/overview/window_grid.cc [modify] https://crrev.com/3f852913c7c42a63171ed611ff8ddc47faaccbe7/ash/wm/overview/window_selector.cc [modify] https://crrev.com/3f852913c7c42a63171ed611ff8ddc47faaccbe7/ash/wm/overview/window_selector.h [modify] https://crrev.com/3f852913c7c42a63171ed611ff8ddc47faaccbe7/ash/wm/overview/window_selector_controller.cc [modify] https://crrev.com/3f852913c7c42a63171ed611ff8ddc47faaccbe7/ash/wm/overview/window_selector_controller.h [modify] https://crrev.com/3f852913c7c42a63171ed611ff8ddc47faaccbe7/ash/wm/overview/window_selector_item.cc [modify] https://crrev.com/3f852913c7c42a63171ed611ff8ddc47faaccbe7/ash/wm/workspace/backdrop_controller.cc [modify] https://crrev.com/3f852913c7c42a63171ed611ff8ddc47faaccbe7/ash/wm/workspace/backdrop_controller.h [modify] https://crrev.com/3f852913c7c42a63171ed611ff8ddc47faaccbe7/ash/wm/workspace/workspace_layout_manager.cc
,
Nov 2
,
Nov 3
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6b7d5bc765358e9ed475fb7b451db040beb37e3c commit 6b7d5bc765358e9ed475fb7b451db040beb37e3c Author: Mitsuru Oshima <oshima@chromium.org> Date: Sat Nov 03 01:00:59 2018 Overview optimizations This is 2nd attempt to land: crrev.com/c/1304973 [2] are the difference from above CL. *[2] Added null check in OnStartingAnimationComplete. * Pause occusion tracker during overview animation [2] wait 5000ms when exiting overview before resume because a user may re-enter overview [2] wait 50ms when entering overview before resume because it can take 2 frame to finish draing the frame after animation observer is called. * Activate the text filter after animation * [2]Animate shelf after overview animation. * [2] Improve blur animation: Use Compositor's AnimationObesrver to drive animation Progress only by 2 to reduce the frequency. * Don't animate backdrop window during overview animation. * Fix the bounds change issue in WindowGrid. It shouldn't change the parent window's bounds. in both clamshell and tabletmode. The web contents should load after animations without backdrop animation. No gap at the bottom of the screen after exiting overview mode. Bug: 898077 , 897387 Test: no functional change. Manually tested visual change by entering/exiting overview mode Change-Id: I0e606af2ad2f8871108e17e6147e51d0b68b5ee6 Reviewed-on: https://chromium-review.googlesource.com/c/1316828 Reviewed-by: Xiaoqian Dai <xdai@chromium.org> Commit-Queue: Mitsuru Oshima <oshima@chromium.org> Cr-Commit-Position: refs/heads/master@{#605114} [modify] https://crrev.com/6b7d5bc765358e9ed475fb7b451db040beb37e3c/ash/shelf/shelf_layout_manager.cc [modify] https://crrev.com/6b7d5bc765358e9ed475fb7b451db040beb37e3c/ash/shelf/shelf_layout_manager.h [modify] https://crrev.com/6b7d5bc765358e9ed475fb7b451db040beb37e3c/ash/wm/overview/overview_utils.cc [modify] https://crrev.com/6b7d5bc765358e9ed475fb7b451db040beb37e3c/ash/wm/overview/window_grid.cc [modify] https://crrev.com/6b7d5bc765358e9ed475fb7b451db040beb37e3c/ash/wm/overview/window_selector.cc [modify] https://crrev.com/6b7d5bc765358e9ed475fb7b451db040beb37e3c/ash/wm/overview/window_selector.h [modify] https://crrev.com/6b7d5bc765358e9ed475fb7b451db040beb37e3c/ash/wm/overview/window_selector_controller.cc [modify] https://crrev.com/6b7d5bc765358e9ed475fb7b451db040beb37e3c/ash/wm/overview/window_selector_controller.h [modify] https://crrev.com/6b7d5bc765358e9ed475fb7b451db040beb37e3c/ash/wm/overview/window_selector_item.cc [modify] https://crrev.com/6b7d5bc765358e9ed475fb7b451db040beb37e3c/ash/wm/workspace/backdrop_controller.cc [modify] https://crrev.com/6b7d5bc765358e9ed475fb7b451db040beb37e3c/ash/wm/workspace/backdrop_controller.h [modify] https://crrev.com/6b7d5bc765358e9ed475fb7b451db040beb37e3c/ash/wm/workspace/workspace_layout_manager.cc
,
Nov 5
,
Nov 5
Tested on today's canary 72.0.3601.0 / 11231.0.0.
,
Nov 5
This bug requires manual review: Reverts referenced in bugdroid comments after merge request. Please contact the milestone owner if you have questions. Owners: benmason@(Android), kariahda@(iOS), kbleicher@(ChromeOS), govind@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Nov 5
Merge approved for ChromeOS 71
,
Nov 7
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e06cf8ce35adde393617d658d1cd213cd5bc02b8 commit e06cf8ce35adde393617d658d1cd213cd5bc02b8 Author: Mitsuru Oshima <oshima@chromium.org> Date: Wed Nov 07 00:39:37 2018 Overview optimizations This is 2nd attempt to land: crrev.com/c/1304973 [2] are the difference from above CL. *[2] Added null check in OnStartingAnimationComplete. * Pause occusion tracker during overview animation [2] wait 5000ms when exiting overview before resume because a user may re-enter overview [2] wait 50ms when entering overview before resume because it can take 2 frame to finish draing the frame after animation observer is called. * Activate the text filter after animation * [2]Animate shelf after overview animation. * [2] Improve blur animation: Use Compositor's AnimationObesrver to drive animation Progress only by 2 to reduce the frequency. * Don't animate backdrop window during overview animation. * Fix the bounds change issue in WindowGrid. It shouldn't change the parent window's bounds. in both clamshell and tabletmode. The web contents should load after animations without backdrop animation. No gap at the bottom of the screen after exiting overview mode. Bug: 898077 , 897387 Test: no functional change. Manually tested visual change by entering/exiting overview mode Change-Id: I0e606af2ad2f8871108e17e6147e51d0b68b5ee6 Reviewed-on: https://chromium-review.googlesource.com/c/1316828 Reviewed-by: Xiaoqian Dai <xdai@chromium.org> Commit-Queue: Mitsuru Oshima <oshima@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#605114}(cherry picked from commit 6b7d5bc765358e9ed475fb7b451db040beb37e3c) Reviewed-on: https://chromium-review.googlesource.com/c/1321770 Reviewed-by: Mitsuru Oshima <oshima@chromium.org> Cr-Commit-Position: refs/branch-heads/3578@{#552} Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034} [modify] https://crrev.com/e06cf8ce35adde393617d658d1cd213cd5bc02b8/ash/shelf/shelf_layout_manager.cc [modify] https://crrev.com/e06cf8ce35adde393617d658d1cd213cd5bc02b8/ash/shelf/shelf_layout_manager.h [modify] https://crrev.com/e06cf8ce35adde393617d658d1cd213cd5bc02b8/ash/wm/overview/overview_utils.cc [modify] https://crrev.com/e06cf8ce35adde393617d658d1cd213cd5bc02b8/ash/wm/overview/window_grid.cc [modify] https://crrev.com/e06cf8ce35adde393617d658d1cd213cd5bc02b8/ash/wm/overview/window_selector.cc [modify] https://crrev.com/e06cf8ce35adde393617d658d1cd213cd5bc02b8/ash/wm/overview/window_selector.h [modify] https://crrev.com/e06cf8ce35adde393617d658d1cd213cd5bc02b8/ash/wm/overview/window_selector_controller.cc [modify] https://crrev.com/e06cf8ce35adde393617d658d1cd213cd5bc02b8/ash/wm/overview/window_selector_controller.h [modify] https://crrev.com/e06cf8ce35adde393617d658d1cd213cd5bc02b8/ash/wm/overview/window_selector_item.cc [modify] https://crrev.com/e06cf8ce35adde393617d658d1cd213cd5bc02b8/ash/wm/workspace/backdrop_controller.cc [modify] https://crrev.com/e06cf8ce35adde393617d658d1cd213cd5bc02b8/ash/wm/workspace/backdrop_controller.h [modify] https://crrev.com/e06cf8ce35adde393617d658d1cd213cd5bc02b8/ash/wm/workspace/workspace_layout_manager.cc
,
Nov 7
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e06cf8ce35adde393617d658d1cd213cd5bc02b8 Commit: e06cf8ce35adde393617d658d1cd213cd5bc02b8 Author: oshima@chromium.org Commiter: oshima@chromium.org Date: 2018-11-07 00:39:37 +0000 UTC Overview optimizations This is 2nd attempt to land: crrev.com/c/1304973 [2] are the difference from above CL. *[2] Added null check in OnStartingAnimationComplete. * Pause occusion tracker during overview animation [2] wait 5000ms when exiting overview before resume because a user may re-enter overview [2] wait 50ms when entering overview before resume because it can take 2 frame to finish draing the frame after animation observer is called. * Activate the text filter after animation * [2]Animate shelf after overview animation. * [2] Improve blur animation: Use Compositor's AnimationObesrver to drive animation Progress only by 2 to reduce the frequency. * Don't animate backdrop window during overview animation. * Fix the bounds change issue in WindowGrid. It shouldn't change the parent window's bounds. in both clamshell and tabletmode. The web contents should load after animations without backdrop animation. No gap at the bottom of the screen after exiting overview mode. Bug: 898077 , 897387 Test: no functional change. Manually tested visual change by entering/exiting overview mode Change-Id: I0e606af2ad2f8871108e17e6147e51d0b68b5ee6 Reviewed-on: https://chromium-review.googlesource.com/c/1316828 Reviewed-by: Xiaoqian Dai <xdai@chromium.org> Commit-Queue: Mitsuru Oshima <oshima@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#605114}(cherry picked from commit 6b7d5bc765358e9ed475fb7b451db040beb37e3c) Reviewed-on: https://chromium-review.googlesource.com/c/1321770 Reviewed-by: Mitsuru Oshima <oshima@chromium.org> Cr-Commit-Position: refs/branch-heads/3578@{#552} Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034}
,
Nov 7
,
Nov 14
|
|||||||||||||
►
Sign in to add a comment |
|||||||||||||
Comment 1 by osh...@chromium.org
, Oct 20