Paint storms in an AMP viewer carousel reduction |
||
Issue descriptionRepro steps: Go to http://jsbin.com/cowiye/3/quiet on Nexus 5/5x/6/6p/etc. Enable paint rects in DevTools Click Go button. Here'a vidcap: https://drive.google.com/open?id=0B0w8IQeoE99FbjlJdWJpM0tmUU0
,
Jul 22 2016
This can be fixed by adding 'will-change: transform' to 'container' (http://jsbin.com/qaxugekita/1/quiet). By default we don't allocate composited layer for 2d transform. It's expected that change of 2d transform results paint invalidation.
,
Jul 22 2016
I must be holding it wrong, but when I try your jsbin, I still see a whole bunch of flashing and spurious small rectangles invalidating where nothing seems to be there. See https://drive.google.com/open?id=0B0w8IQeoE99FaU96VTJXY21iVHc. Is this expected?
,
Jul 22 2016
I found the reason that what we saw different things. I changed the test and waited for finish of loading of all iframes, to exclude the effect of iframe loading then observed paint invalidation during the animation. You saw the repaint rects which were in the iframes during their loading, but devtools show repaint rects out of the composited layer boundaries. By tracing frame viewer, the invalidation rects are all within the iframes. Will file a bug about the problem of devtools.
,
Jul 22 2016
Oh, I see. Thanks!!
,
Jul 22 2016
It may be reasonable for devtools to show invisible repaints on scrolling contents layers because they are real repaints. http://output.jsbin.com/kifero/quiet is a reduced example. The frame viewer provides more visualization measures to show which repaint rects are on which layers. |
||
►
Sign in to add a comment |
||
Comment 1 by wangxianzhu@chromium.org
, Jul 22 2016