New issue
Advanced search Search tips

Issue 911213 link

Starred by 1 user

Issue metadata

Status: Untriaged
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocking:
issue 897826



Sign in to add a comment

Content Evictor is uselessly evicting content that it will un-evict in the next step

Project Member Reported by malaykeshav@chromium.org, Dec 3

Issue description

Scenario:
Lets assume there are 2 windows (A & B), each VISIBLE with web content. Minimize them both to set their occlusion state to HIDDEN. This allows the content evictor to evict content and release some memory pressure. In this scenario evicting content from just one window is enough to relieve the memory pressure, so it evicts content only from Window A.

Now when you make all the windows visible (like in Chrome OS's overview mode), the occlusion tracker sets the occlusion state of each window to VISIBLE _one_by_one_. It first sends an update to window A which triggers the generation of the web content for A. At the same time due to addition of a frame, the content evictor needs to free up memory again and decides to evict the frame for window B since it is still HIDDEN. In the next step the occlusion tracker sends an update to Window B to set it to VISIBLE which results in the generation of its frame. 

This eviction and then regeneration of the frame for Window B is a bug and has a significant performance impact and results in jank when there are several windows. 

One way to solve this would be to have a way to Pause content eviction similar to how we can pause OcclusionTracker to have a 2 phase commit like system.
 
Cc: -fdoray@google.com fdoray@chromium.org
Cc: sadrul@chromium.org
Components: Internals>Services>Viz
Blocking: 897826
Components: -UI -UI>Browser Blink>PageLifecycle Internals>ResourceCoordinator
Cc: samans@chromium.org kylec...@chromium.org
To clarify, is this about the FrameEvictor https://cs.chromium.org/chromium/src/components/viz/client/frame_evictor.h?
Cc: sammiequon@chromium.org

Sign in to add a comment