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

Issue 598396 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner: ----
Closed: Aug 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 2
Type: Bug



Sign in to add a comment

3d animation lags with reflection OR :before OR big image

Reported by enaza...@gmail.com, Mar 28 2016

Issue description

UserAgent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2687.0 Safari/537.36

Steps to reproduce the problem:
1. install extansion
2. go to New Tab
3. switch to coverflow mode (bottom right button)
4. scroll wheel or use left/right arrows

What is the expected behavior?
I've try to repoduce bug with jsfiddle, but it works smooth.
https://jsfiddle.net/3okebLe2/

What went wrong?
Animation lags.
This is not a bug of extansion, because it works good in previous versions. checked:
48.0.2564.103 (64-bit) Ubuntu
49.0.2623.87 Win,
49.0.2623.87 m Mac
And previos version of dev branch. I just not mentioned wich one before update to the new

WebStore page: https://chrome.google.com/webstore/detail/sexy-new-tab/kmnjpgchjnhlenhhcemajkihfeoampom

Did this work before? N/A 

Chrome version: 51.0.2687.0  Channel: dev
OS Version: 6.1 (Windows 7, Windows Server 2008 R2)
Flash Version: Shockwave Flash 21.0 r0

If to apply new css rules in the extansion

  .thumbnail {display: none;}
  .page:before  {display: none;}
  .flow .page .flipper { -webkit-box-reflect: initial;}

than animation begin work fine again. But if omit at least one, dosen't helps. Obviously I cant use this patch.
 

Comment 1 by enaza...@gmail.com, Mar 31 2016

49.0.2623.110 (64-bit) Ubuntu also works fine

Comment 2 by enaza...@gmail.com, Apr 7 2016

51.0.2700.0 dev-m
Bug still present

Comment 3 by enaza...@gmail.com, Apr 14 2016

Chrome has updated on Ubuntu to 50.0.2661.75 and bug appears. Remind that in 48.0.2564.103 there was not this bug.
Components: Blink>Animation
Labels: Needs-Bisect
Cc: brajkumar@chromium.org
Labels: Needs-Feedback
Tested this issue on Windows 7 using chrome latest Dev M53-53.0.2756.0 by following steps mentioned in the comment #0. Unable to observe any differences in animation while comparing the older version of chrome M49-49.0.2623.87 to latest Dev M53-53.0.2756.0.

enazarev@ - Is this issue still seen on latest Dev M53-53.0.2756.0 ? Could you please recheck this issue by creating a new profile under chrome settings with no other extensions except Sexy New Tab.

Thanks!

Comment 7 by enaza...@gmail.com, Jun 8 2016

brajkumar@ - Hi. Thanks for respond.
Yes, the issue is still present on Windows 7 Chrome latest Dev M53-53.0.2756.0

Comment 8 Deleted

Able to reproduce this issue on Windows 7, Ubuntu 14.04 and Mac OS 10.11.5 using chrome stable M51-51.0.2704.84. Observed some lag in the animation.

Bisect Information:
=====================
Good build: 51.0.2671.0 
Bad Build : 51.0.2673.0 

Change Log URL:
https://chromium.googlesource.com/chromium/src/+log/8762bdedaa3229fad50a5c4d9541e83462fb2b87..94326b75fc5b320ff478e82023c1c4296a83750e

From the above change log suspecting below change

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

dsansome@ - Could you please check whether this is caused with respect to your change, if not please help us in assigning it to the right owner.

Thanks!

Comment 10 by suzyh@chromium.org, Jun 13 2016

Components: -Platform>Extensions
Labels: Update-Monthly
Owner: alancutter@chromium.org
dsansome's patch changes a test only, so it is unlikely to be responsible. Alan, can you give this a quick pass? I think Update-monthly is appropriate because the bug reportedly first appeared in v50.
Project Member

Comment 11 by sheriffbot@chromium.org, Jul 14 2016

Labels: -M-53 M-54 MovedFrom-53
Moving this nonessential bug to the next milestone.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: Regressed-51
Able to repro this without having to install the extension, open attached test.html case (created from jsfiddle) with the window maximised on a high DPI device. See screen cast for comparison of maximised vs non-maximised.

All the time seems to be spend in rasterising. The main thread is mostly idle and yet so few frames are put out for non-composited animations (like transform-origin). See timeline screenshot.

test.html
4.0 KB View Download
jank.webm
997 KB View Download
devtools.png
147 KB View Download
Components: -Blink>Animation Blink>Paint
Owner: ----
Status: Available (was: Assigned)
Owner: dstockwell@chromium.org
Status: Assigned (was: Available)
Given the regression range in comment #9, this change to CompositorAnimations looks entirely plausible, although it does seem to cause more content to be composited so on the face of it would be faster: https://chromium.googlesource.com/chromium/src/+/1c1129d2fd8c4728671cd4f611083de6557ac5af

Try reverting and seeing if it is to blame?
Cc: alancutter@chromium.org
Components: -Blink>Paint Blink>Animation
Owner: ----
Status: Untriaged (was: Assigned)
Could someone take a look at the suggestion in #15?
Cc: suzyh@chromium.org
Components: -Blink>Animation Blink>Paint
Labels: -Type-Bug-Regression -Update-Monthly -Regressed-51 Performance Type-Bug
Status: Available (was: Untriaged)
I built content_shell before and after https://chromium.googlesource.com/chromium/src/+/1c1129d2fd8c4728671cd4f611083de6557ac5af.

Before this patch the animations were not getting composited and the entire thing was slow. After the patch only the transform part of the animation got composited, the transform-origin (which affected the horizontal position) was running on the main thread and was slowed down by the cost of paint.
The reason it looks so janky is because the compositor animation is running at a higher frame rate, the juxtaposition of the two animations running out of sync on the same element is what makes it look bad.

That change was to fix a regression where not enough animations were being composited so what we see now is really not a regression, it would have behaved the same prior to the compositor animation regression.

There's little we can do on the animations side for this case other than pull composited animations down onto the main thread when other main thread animations are running. We already do this if the animations are part of the same @keyframes rule but not for transitions. I don't think making the same behaviour apply to transitions is desirable for most cases though.

Passing back to paint team to decide if they want to invest time towards reducing main thread paint costs for this scenario. Perhaps we can avoid repainting for subsequent frames?
Thanks for the work on narrowing down the cause. I don't think we have any immediate work in this area, although we are working to composite more layers for other reasons.

Comment 19 by enaza...@gmail.com, Aug 26 2016

 suzyh@, hi
I am appreciate for your deep analyzis.

I doubt that would be fixed soon. So is there any way to refactor css rules to sync all of these running animations, compositions and so on to make it look preaty?

Thanks
Components: -Blink>Paint Blink>Animation
I don't think there is any thing to do in paint for this bug. Sending
back to animations for the answer to question 19. If animations has nothing further that should be done, we should close the bug.

Comment 21 by enaza...@gmail.com, Aug 27 2016

that sounds sad :(
I remeber there was a times it works fine. I listed previously good builds in starting post and comment 1
Status: WontFix (was: Available)
@19: I recommend animating the transform of a container element rather than margin-left to have the horizontal movement run on the compositor.
Note: Avoid using percentage units in your transform as those won't get composited (requires layout calculations).

On the topic of synchronising animations we ensure all property animations in @keyframes rules and element.animate() run on the same thread for synchronisation purposes (if any of them are main thread, all of them become main thread).
We could force the same behaviour for transitions that start at the same time however I don't think pulling things off the compositor would be desirable in most cases especially considering the default value of transition-property is "all".

Sign in to add a comment