New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 704673 link

Starred by 5 users

Issue metadata

Status: Fixed
Owner:
not on Chrome anymore
Closed: May 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug

Blocking:
issue 678800



Sign in to add a comment

Shaka player demo has unnecessarily large damage rect

Project Member Reported by jbau...@chromium.org, Mar 23 2017

Issue description

What steps will reproduce the problem?
1. Launch chrome with --show-surface-damage-rects
2. Go to https://shaka-player-demo.appspot.com/demo/
3. Load "Sintel 4k (WebM only)
4. wait for the controls to disappear

What is the expected result?
The damage rect should just be the video.

What happens instead of that?
The damage rect often includes part of the page to the left of the video. This really hurts power consumption when using overlays.

It looks like the seekbar is being continually repainted, even though it's hidden, and that also causes damage to the area to the left of the seekbar. I don't know why the damage rect would be expanded in that way.




 
Cc: ranjitkan@chromium.org
 Issue 704256  has been merged into this issue.
Labels: Needs-Bisect Needs-Triage-M57
Cc: joeyparrish@chromium.org
To clarify, is this a Shaka Player bug that we should be updating the page differently?  Or a bug in the way Chromium calculates the damage rect for our demo?
I think some of both. Shaka player shouldn't need to update the css so often, and chrome shouldn't need to have the damage rect as big as it is.
Understood.  Could you please file a bug to that effect on our issue tracker?  https://github.com/google/shaka-player/issues  We don't typically use crbug for Shaka Player.
Components: -Blink>Compositing Blink>Paint>Invalidation
Labels: -Needs-Bisect -Needs-Triage-M57
Status: WontFix (was: Unconfirmed)
The problem is most likely due to CSS transitioning the opacity because I only see repaints outside the video area when the mouse moves in and out of the video area.

There is no spurious invalidation when the mouse is motionless outside the video. The large area invalidation appears to be associated with the mouse entering and leaving the video area, so probably has to do with the opacity change happening - that can result in major changes to the layerization of the page, and lots of repaint.

I think the Shaka player should sort out its updating of non-visible elements (opacity 0 on the container) before we try to fix the issue, as the two are undoubtedly related. I'm marking it WontFix for now, as it is a website issue at this stage.

This does not need a bisect.
Please file a bug on Shaka Player with your request: https://github.com/google/shaka-player/issues/new
Owner: ericde@chromium.org
Status: Assigned (was: WontFix)
schenney, are you saying that the damage I see in the attached image (happens in about 1 in 5 frames, even when not moving the mouse at all) isn't caused by some input from blink, but is instead from cc?
shakadamage.png
221 KB View Download
Sorry, I didn't mean to say that Blink is not issuing the repaint. A damage rect like that is most likely caused by a DOM element changing, and that DOM element is both not visible for some reason and is off the left or otherwise covers a large width of screen. Just because you can't see it doesn't mean there isn't some element there that is changing such that we think it might need repainting.

Invalidation is conservative. We can't know for sure what visible effect a change might have until we actually fill pixels, so we need to issue invalidation for all of the element's bounds, and maybe its ancestors or descendants too.
Wonderful, thanks!
Owner: jbau...@chromium.org
Assigning back to jbauman for whatever Chrome work may be deemed necessary.  We should be able to quiet down the video controls on our side.
Status: Fixed (was: Assigned)
Currently fixed, at least in the nightly build of shaka player.

Sign in to add a comment