New issue
Advanced search Search tips

Issue 672940 link

Starred by 4 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Feature

Blocking:
issue 672303



Sign in to add a comment

Surface BeginFrame throttling of occluded windows

Project Member Reported by fsam...@chromium.org, Dec 9 2016

Issue description

We should throttle BeginFrames to occluded windows in Mus+Ash.
 

Comment 1 by danakj@chromium.org, Dec 19 2016

I'm concerned if this is a good idea. Users generally expect that windows that are not minimized work normally and throttling stuff may have unintended side effects. Also it requires plumbing occlusion into a new and different space (and probably computing it in another place). We could experiment but we should look at what are the side effects.
Blocking: 601863
Status: Available (was: Untriaged)
This is a nice to have, and it may not be strictly required for Mus+Ash but it's useful to consider.
Cc: rjkroege@chromium.org sadrul@chromium.org
Labels: displaycompositor
Again, we don't know if we need this, at least in the short term, but this is an optimization that I'd like to keep thinking of just in case we might need it in the future. I think it might makes sense to do this in the display compositor for occluded things in general. Perhaps this could feed off surface draw occlusion that we build? 

Maybe surfaces that are not drawn (aren't included in SurfaceAggregator::Aggregate) get throttled?

Unrelated but I just remembered that now that surface synchronization is almost ready, we have the option to do some clever raster occlusion plumbing by allocating new surface IDs in the parent as the occluded area changes (perhaps we can be conservative here) and then use surface synchronization to ensure we don't checkerboard windows (most of the time). This might be a bad idea because we might jank as we move windows around. I'm writing down the idea here anyway to think about later.
#5: We can probably do a pretty good job of keeping window checkerboarding to a minimum on Chrome OS with surface synchronization because the compositor owns the whole screen. On other platforms, this is more of a challenge because we might need to synchronously produce content when the window is exposed or we checkerboard.
With that said, throttling BeginFrames (which is what this bug is about :P) ought to be doable on other platforms. The worst we'll experience on window exposure is a bit of a stutter. 
Components: Internals>MUS Internals>Compositing
Labels: Type-Feature
Cc: weiliangc@chromium.org
Cc: varkha@chromium.org
Blocking: -601863
Components: -Internals>MUS
Project Member

Comment 13 by sheriffbot@chromium.org, Jun 14 2018

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Owner: fsam...@chromium.org
To Fady to triage. Is conceivably obsolete in a Mus+ash context.
Status: Assigned (was: Untriaged)
This is still a nice to have. 
Owner: sky@chromium.org
Passing along to sky@ for triage. This is a nice-to-have for OOP-Ash. Might need it for performance reasons.
Owner: fsam...@chromium.org
Fady, could you provide some more details about what this would entail and what the benefits would be? Pass it back to me once you do that.
Owner: sky@chromium.org
I know there's some work done on window occlusion lately so maybe this is actually already fixed (not sure who's been working on it). 

At the time this bug was filed, occluded windows with animations or videos would stick tick at 60fps even though the user didn't see any changes on screen. This wastes a lot of cycles and could cause Chrome OS as a whole to feel sluggish. This was a possible mitigation we listed. This may not be relevant or important anymore but something to consider. 
Labels: OS-Chrome
Owner: ----
Status: Available (was: Assigned)
Thanks Fady. I'm going to mark available in case anyone wants to take it over.

Sign in to add a comment