New issue
Advanced search Search tips

Issue 826676 link

Starred by 2 users

Issue metadata

Status: Available
Owner: ----
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows
Pri: 2
Type: Bug



Sign in to add a comment

CSS Scale and Scale3D flickering

Reported by katsul...@gmail.com, Mar 28 2018

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36

Example URL:
https://codepen.io/katsulynx/pen/MVOYaN

Steps to reproduce the problem:
1. Create a (continous) transition with scale() or scale3D()
2. Profit

What is the expected behavior?
Smooth translation/transition with no flickering.

What went wrong?
Translation flickering heavily, elements are clipping back to their original size for the fraction of a second or do scale to a wrong size (sometimes smaller, sometimes larger).

Does it occur on multiple sites: Yes

Is it a problem with a plugin? No 

Did this work before? N/A 

Does this work in other browsers? Yes

Chrome version: 65.0.3325.181  Channel: canary
OS Version: 10.0
Flash Version: 

Doesn't work on Canary or current stable.
Does work in Firefox, although Firefox does render transitions at a way lower FPS rate.
Does work in latest Internet Explorer, smoothly.
Does work in latest Microsoft Edge, smoothly.
 

Comment 1 by woxxom@gmail.com, Mar 28 2018

Observed since Chrome 35.0.1867.0, including current Canary.
The old Chrome required a command line switch "--enable-experimental-web-platform-features"

Bisect info: 254335 (good) - 254352 (bad)
https://chromium.googlesource.com/chromium/src/+log/9ff244f6..fbb350f5?pretty=fuller

Disabling GPU acceleration fixes the bug so I suspect f4db2b1e34ebbb01a8c1b7299a5bd6fa8fe057c8
"Roll ANGLE to include the loop unrolling fix"

Of course it may be something else inside c18d0c77235916115eb3de93d56a59f2ab64798c which is a WebKit update with the following changelog:
https://chromium.googlesource.com/chromium/blink.git/+log/7a224c79..18cd92ea?pretty=fuller
Labels: Needs-Triage-M65

Comment 3 by woxxom@gmail.com, Mar 29 2018

Another suspect in the bisect log above could be 6ec8f53a095195eff87eace2a5f1e6cf1a7ad4da which contains one CL in ANGLE:
https://crrev.com/c/188079 "Improvement on loop unrolling with loops indexing sampler arrays"
Cc: zmo@chromium.org
Labels: Triaged-ET M-67 Target-67 FoundIn-67 OS-Linux
Status: Untriaged (was: Unconfirmed)
Able to reproduce this issue on latest stable 65.0.3325.181, on latest beta 66.0.3359.66 and latest canary 67.0.3383.0 using Windows 10 and Ubuntu 14.04. Issue is not seen on Mac 10.13.3

This issue is seen from M-60. Hence considering this issue as Non-Regression and marking as Untriaged.

cc'ing zmo@ from cl in comment#1. Please change if not the case.

Thanks!

Comment 5 by zmo@chromium.org, Mar 29 2018

Cc: -zmo@chromium.org
Components: -Blink Internals>Compositing>Animation Blink>CSS
That driver bug workaround (loop unrolling with loops indexing sampler arrays) is no longer applied today, so it's irrelevant.

M35 is so long ago, I wouldn't consider this a regression.

We need to find an owner for this.

Comment 6 by woxxom@gmail.com, Mar 30 2018

FWIW, using scale(0.1, 0.1) instead of scale(0, 0) in @keyframes CSS "fixes" the bug here.
Status: Available (was: Untriaged)
Components: -Blink>CSS
Labels: Hotlist-Polish

Sign in to add a comment