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

Issue 819966 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Mar 2018
Components:
EstimatedDays: ----
NextAction: 2018-03-13
OS: Linux , Android , Windows , Chrome , Mac , Fuchsia
Pri: 2
Type: Compat



Sign in to add a comment

SVG Background Image inside Sticky positioned container jitters with GPU raster

Reported by mr.ber...@gmail.com, Mar 8 2018

Issue description

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

Example URL:
https://blogs.scientificamerican.com/beautiful-minds/the-role-of-luck-in-life-success-is-far-greater-than-we-realized/#

Steps to reproduce the problem:
1. Go to URL
2. Watch the "SCIENTIFIC AMERICA" logo in the header
3. Beging scrolling

What is the expected behavior?
Logo moves to top of screen with the first scrolling movement; then it remains there with no changes.

What went wrong?
Logo moves to top of screen with the first scrolling movement; then it remains there *while occasionally appearing to be drawn on different sub-pixel grids (or something like that). Check out attachments.

Does it occur on multiple sites: N/A

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.146  Channel: n/a
OS Version: 10.0
Flash Version: 

Same in Chrome 65 and Version 67.0.3364.2 (Official Build) canary (64-bit) on Windows 10. Default "size of text, apps, and other items" (100%), default zoom in Chrome (100%). Edge does not do this.
 

Comment 1 by tkent@chromium.org, Mar 8 2018

Components: Blink>Compositing
Components: -Blink>Compositing Internals>GPU>Rasterization
Labels: OS-Android OS-Chrome OS-Fuchsia OS-Linux OS-Mac
Status: Untriaged (was: Unconfirmed)
Summary: SVG Background Image inside Sticky positioned container jitters with GPU raster (was: A page's logo is rendered differently depending on scroll position)
Reproduces Linux ToT with GPU raster and Win10 M-67 Canary and the reported M-65 version. Does not reproduce in Linux 65.0.3325.106, without GPU raster, and does not reproduce with GPU disabled on ToT.

Given all that, it's a GPU raster problem, but might be combined with Blink giving slightly different transforms as the page scrolls.

I'm passing this off to the GPU team as I believe they are better equipped to identify the underlying cause.

Attached is the SVG file that is used as the background. I can try reducing the page but it will take quite a bit I think. So only ask if you need it.

cr819966-background.svg
6.8 KB Download
Owner: jvanverth@chromium.org
Status: Assigned (was: Untriaged)
This appears to be due to https://skia-review.googlesource.com/c/skia/+/57942.
Status: Started (was: Assigned)
Agreed on attribution.
Project Member

Comment 6 by bugdroid1@chromium.org, Mar 9 2018

The following revision refers to this bug:
  https://skia.googlesource.com/skia/+/a64a5850d946a713a38eeafb68e57a91e00a18cc

commit a64a5850d946a713a38eeafb68e57a91e00a18cc
Author: Jim Van Verth <jvanverth@google.com>
Date: Fri Mar 09 19:50:20 2018

Fix issue with negative translations of small paths

Truncating negative values will produce a negative fractional part when
you subtract out the integer value, which causes havoc with rendering
the path and searching for it in the cache. What we want is the floor.

Bug:  819966 ,  819522 
Change-Id: I2feb451e28bfb863111479f70fd99fa1299abac0
Reviewed-on: https://skia-review.googlesource.com/113428
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>

[modify] https://crrev.com/a64a5850d946a713a38eeafb68e57a91e00a18cc/src/gpu/ops/GrSmallPathRenderer.cpp

Status: Fixed (was: Started)
NextAction: 2018-03-13
This does appear to be fixed for me.

mr.berker@, would you be so kind as to verify for us with a Canary build of Chrome on Tuesday next week?

Comment 9 by mr.ber...@gmail.com, Mar 13 2018

@schenney it appears to be fixed to me, too - my original steps do not repro this any longer on Version 67.0.3368.1 (Official Build) canary (64-bit). Thanks!
The NextAction date has arrived: 2018-03-13
Labels: Merge-Request-66
The Skia team believes that the fix for this is safe for merge into the M-66 Skia branch and on to Chrome. See https://skia-review.googlesource.com/113428

Requesting a merge as this is a fairly serious product quality issue: The logo of a fairly important site jitters when scrolling. We can expect anything with SVG paths to have similar failures. Note the other bug also fixed by this change.

Comment 12 by cmasso@google.com, Mar 13 2018

Has this been verified in Canary?
Project Member

Comment 13 by sheriffbot@chromium.org, Mar 14 2018

Labels: -Merge-Request-66 Merge-Approved-66 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M66. Please go ahead and merge the CL to branch 3359 manually. Please contact milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), josafat@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 14 by bugdroid1@chromium.org, Mar 15 2018

Labels: merge-merged-m66
The following revision refers to this bug:
  https://skia.googlesource.com/skia/+/46dfb183c8d3ea386e03fb2c4f74d58203dac7dc

commit 46dfb183c8d3ea386e03fb2c4f74d58203dac7dc
Author: Jim Van Verth <jvanverth@google.com>
Date: Thu Mar 15 14:22:27 2018

Fix issue with negative translations of small paths

Truncating negative values will produce a negative fractional part when
you subtract out the integer value, which causes havoc with rendering
the path and searching for it in the cache. What we want is the floor.

No-Tree-Checks: true
No-Try: true
No-Presubmit: true
Bug:  819966 ,  819522 
Change-Id: I2feb451e28bfb863111479f70fd99fa1299abac0
Reviewed-On: https://skia-review.googlesource.com/113428
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-By: Brian Salomon <bsalomon@google.com>
Reviewed-on: https://skia-review.googlesource.com/114496
Reviewed-by: Jim Van Verth <jvanverth@google.com>

[modify] https://crrev.com/46dfb183c8d3ea386e03fb2c4f74d58203dac7dc/src/gpu/ops/GrSmallPathRenderer.h
[modify] https://crrev.com/46dfb183c8d3ea386e03fb2c4f74d58203dac7dc/src/gpu/ops/GrSmallPathRenderer.cpp

Labels: -Hotlist-Merge-Approved -Merge-Approved-66 Merge-Merged

Sign in to add a comment