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

Issue 597143 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Mar 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 1
Type: Bug



Sign in to add a comment

Paint invalidation bugs on codepen.io

Project Member Reported by pdr@chromium.org, Mar 23 2016

Issue description

Version: 51.0.2687.0/canary (also dev)
OS: OSX 10.11

What steps will reproduce the problem?
(1) Go to https://codepen.io/
(2) Keep refreshing until you get the background that has triangles and cubes (by Ana Tudor--see screenshot). You should only have to refresh about 5 times.
(3) Notice graphics bugs.

I think this is a paint invalidation bug, but I wasn't able to minimize this easily.
 
graphicsbugs.png
289 KB View Download
Labels: M-51
Looks ok to me on 50.0.2657.0 OS X / Retina. Also 51.0.2687.0 Canary.

?

Comment 2 by pdr@chromium.org, Mar 23 2016

I can reliably reproduce it in 51.0.2687.0/Canary with retina. Could you try one more time, letting the animation play for 5 full seconds?
I played it for 20 or 30. :)

Comment 4 by pdr@chromium.org, Mar 23 2016

Components: Blink>Compositing
Labels: -Needs-Bisect
Owner: jaydasika@chromium.org
Status: Assigned (was: Available)
I found a local repro that works offline (attached). It may have something to do with the other animations playing on the page which is why you didn't hit it.

Bisected down to:
https://chromium.googlesource.com/chromium/src/+log/04c9261d40089b8454379f35df33e908b2ddbbb0..3b234dd4013a56f9783fef6684de3be9b34bd9f5

Suspecting:
https://crrev.com/503f617eb83b94ab0eb2618a145dfb009a485971
cpio.zip
369 KB Download
I am unable to repro this (tried both with the attached page and the website directly) on 51.0.2688.0/Canary with retina. I let the animation play for more than 30 seconds.
Jayadev: it repros on my Mac if you scroll down a little bit to show the pictures of hearts under the title "Fallen".

Comment 7 by pdr@chromium.org, Mar 23 2016

Yeah, this feels like a bad interaction between the hearts animation and the grey box animation. This was easier for me to hit on a huge monitor, but we needed to scroll down a bit for it to repro on Chris's 11" macbook air.
I am able to repro it now (by scrolling and hovering over the hearts animation)
Cc: ajuma@chromium.org
Components: Internals>Compositing
Labels: OS-Mac
Verified that my CL is responsible for this bug. But, I still don't know why.

My CL moves damage tracking from layer tree to transform tree (this particular CL is for damage caused by transform animations on compositor). Its confusing to me that the bug is fixed if we did the damage update on the transform tree as soon as the transform changes. (We currently  do it lazily, just mark that the transform tree  needs update and do the actual update just before calculating visible rects). 
Damage rect is computed while calculating render passes, which happens after we compute visible rects, so the damage state should have been updated on the transform tree by then. 

ajuma : Any thoughts ?
Project Member

Comment 10 by bugdroid1@chromium.org, Mar 25 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/516062893e27d20dcec188a67af3a0e0c28dc902

commit 516062893e27d20dcec188a67af3a0e0c28dc902
Author: jaydasika <jaydasika@chromium.org>
Date: Fri Mar 25 01:44:33 2016

cc : Fix layer transform changed tracking bug

One of the functions makes changes on a local copy of property trees
instead of the property trees stored on LayerTreeImpl. This fixes that.

BUG= 597143 
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

Review URL: https://codereview.chromium.org/1834883002

Cr-Commit-Position: refs/heads/master@{#383219}

[modify] https://crrev.com/516062893e27d20dcec188a67af3a0e0c28dc902/cc/layers/layer_impl.cc
[modify] https://crrev.com/516062893e27d20dcec188a67af3a0e0c28dc902/cc/trees/layer_tree_host_unittest.cc

Status: Fixed (was: Assigned)

Comment 12 by pdr@chromium.org, Mar 25 2016

Do we need to merge into M50?
No, the original CL landed after the M50 branch point.

Sign in to add a comment