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

Issue 892164 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug



Sign in to add a comment

Poor scroll and draw performance when blur and lazyload is used

Reported by radek.s...@gmail.com, Oct 4

Issue description

Steps to reproduce the problem:
Please see attached file, unfortunately lazyload doesn't work on codepen (all images load at once), probably some issue with iframe and IntersectionObserver (maybe another issue?).

1. Create typical lazyload markup for images with fade-in effect.
2. Add some low quality image placeholders (LQIP) and apply blur to them.
3. See drawing and scrolling struggles when viewed on mobile.

There was a similar issue regarding only blurred images and scrolling - https://bugs.chromium.org/p/chromium/issues/detail?id=398372.

What is the expected behavior?
Blurred LQIPs are drawn on load and full sized images are lazyloaded with fade in effect with no performance issues while scrolling.

What went wrong?
When only LQIPs (https://codepen.io/zipper/pen/pxyYOV) or only lazyload with fade in effect (https://codepen.io/zipper/pen/mzPgQx, but codepen does load all images at once, just remove css "filter" from attached html) are used, scrolling performance is normal. The page is also drawn "immediately" even when fast scrolling through page (blurred images are drawn).

But when both is used, scrolling performance significantly drops and page is drawn during the scroll. This does affect only mobile Chrome, on desktop, there is no issue.

Did this work before? N/A 

Does this work in other browsers? N/A

Chrome version: 69.0.3497.100  Channel: stable
OS Version: 6.0.1
Flash Version:
 
lazyload.html
4.6 KB View Download
Components: Blink>Scroll
Labels: Needs-triage-Mobile
Cc: chelamcherla@chromium.org
Labels: Triaged-Mobile Needs-Feedback
radek.sery@: Please check the screencast and let us know if this the issue you are addressing? On scrolling observing images or not loaded fast. Tested this issue on 69.0.3497.100 using Pixel 2 XL.

Thanks!
892164.mp4
16.5 MB Download
chelamcherla@: Yes, this is the addressed issue. Placeholder images are not drawn fast enough, even though they are loaded and even when scrolling back to already lazyloaded full-sized images. When blur filter is removed from CSS, everything works correctly. Thank you for video.
See attached file without blur filter. Scrolling is much smoother.
lazyload-no-blur.html
4.6 KB View Download
Project Member

Comment 6 by sheriffbot@chromium.org, Oct 5

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding the requester to the cc list.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
I played with the demo a little more and tried to duplicate Medium's solution. When the canvas is used for displaying the image (using quite naive and primitive piece of JS), the demo seems pretty smooth again. See attached file.
lazyload-canvas.html
6.4 KB View Download
Labels: Target-70 Target-71 M-71 FoundIn-71 FoundIn-70 Target-69 FoundIn-69
Status: Untriaged (was: Unconfirmed)
Tested the issue in Android and able to reproduce the issue. 

Steps Followed:
1. Opened attached html file and on scrolling lag of image load time is seen.

Chrome versions tested:
60.0.3112.113, 71.0.3573.0

OS:
Android 9.0.0

Android Devices:
Pixel 2 XL

Issue is seen in from older M-60 builds, hence considering this issue as Non-Regression and marking as Untriaged.

Please navigate to below link for log's  --
go/chrome-androidlogs/892164

Thanks!
Cc: -chelamcherla@chromium.org flackr@chromium.org bokan@chromium.org sindhu.chelamcherla@chromium.org
Status: Available (was: Untriaged)
Components: -Blink>Scroll Internals>GPU>Rasterization Internals>Compositing>Rasterization
Status: Untriaged (was: Available)
Confirmed in 72.0.3595.0 - this looks like an image raster issue, scrolling itself is smooth.
Also, hosted repros:

http://bokand.github.io/bugs/892164/lazyload.html

With blur filter removed (from #5) - issue no longer repros:

http://bokand.github.io/bugs/892164/lazyload-no-blur.html
Owner: enne@chromium.org
Status: Assigned (was: Untriaged)
I'll look at a trace here and see what there is to see.

Sign in to add a comment