New issue
Advanced search Search tips

Issue 606287 link

Starred by 6 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 2
Type: Compat



Sign in to add a comment

Directly composited images take too much memory

Reported by slavoroi...@gmail.com, Apr 25 2016

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.75 Safari/537.36

Example URL:
https://jsfiddle.net/7abx92ke/1/

Steps to reproduce the problem:
1. Open the link :
https://jsfiddle.net/7abx92ke/1/
2. Zoom out
3. The images don't render properly.

What is the expected behavior?
The images should render properly.

What went wrong?
Every time we add a 3d (matrix3d translateZ and cet...) transform for an img element and zoom out it doesn't render the images fully.
It works for explorer and firefox!

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: 50.0.2661.75  Channel: n/a
OS Version: 7
Flash Version: Shockwave Flash 21.0 r0

http://stackoverflow.com/questions/36689508/high-quality-images-rendering-in-chrome
 
Cc: pdr@chromium.org
Labels: Needs-Feedback
Able to reproduce the issue on mac 10.11 chrome version 52.0.2717.0 - Please find the screenshot.

This looks similar to  Issue 600482 

Pdr@ Could you please confirm if both are same
Screen Shot 2016-04-26 at 2.23.38 PM.png
369 KB View Download
I don't think it's the same issue as ours, we don't have a blur problem but a rendering one.I tried to degrade to chrome 45 and it didn't work for example.

Project Member

Comment 4 by sheriffbot@chromium.org, Apr 26 2016

Labels: -Needs-Feedback Needs-Review
Owner: tkonch...@chromium.org
Thank you for providing more feedback. Adding requester "tkonchada@chromium.org" for another review and adding "Needs-Review" label for tracking.

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

Comment 5 Deleted

Comment 6 Deleted

Comment 7 Deleted

Comment 8 by lsha...@gmail.com, Apr 26 2016

This is a severe issue. Makes it impossible to heavily use CSS properties, such as translate3d matrix3d rotate3d, that relies on GPU action.

And it's a shame because they can be used to accomplish great things.


The browser is at 100% GPU memory usage. The image concerns ourjsfiddle example. We used the chrome rendering settings.
Thanks!
bug.png
36.4 KB View Download
And it happens on Mac, Linux, Windows 7/10 (newest chrome versions).

Comment 11 by pdr@chromium.org, Apr 26 2016

Components: Blink>Paint
Labels: Needs-Bisect
Lets see if a bisect reveals anything.
Labels: -Needs-Review OS-Linux OS-Mac
Owner: ----
Status: Untriaged (was: Unconfirmed)
Able to reproduce the issue on Win7/64 bit, Mac OSX [10.11.4] & Linux/Ubuntu 14.04 - 50.0.2661.87

This is observed when the zoom out level is around 67% or less.

It seems like not a regression issue as this is seen on M47 build Version 47.0.2526.111 as well. Please find the attached screen shot.


606287 Win.PNG
435 KB View Download
606287 on M47 Build.PNG
538 KB View Download

Comment 13 by pdr@chromium.org, Apr 26 2016

Owner: chrishtr@chromium.org
Status: Assigned (was: Untriaged)
These are directly composited images, which are forced to raster at the
full resolution of the image. It may be the time to kill these things. But
probably in conjunction with a change to re-raster on every frame on scale
change.
Labels: -Needs-Bisect
As per comment #12 this seems to be a non regression issue. Hence removing the Needs-Bisect label. Please tag the label if required.
Components: -Blink>Paint Internals>Compositing>Rasterization
Owner: vmp...@chromium.org
Vlad, is this sufficiently awesome now with your work?
Cc: danakj@chromium.org enne@chromium.org
Owner: chrishtr@chromium.org
No, this is suffering from oom tiles. Image decodes don't really have anything to do with this, it's just trying to display all of that content (with composited images) will cause us to be out of (tile) memory, which is why checkerboards remain there permanently (we also don't have direct picture rendering with the delegated compositor).

The action plan here I believe is to do a heuristic that might do several steps of raster scales so that in this specific situation we'd use as much memory as with non composited images. 
Experiencing the issue too, with even as few as 4-5 JPEGs (though large ones, about 1MB each). 
In my instance, the container on  which I place the images also enables zoom and pan abilities, and using these freezes the entire Chrome process.

[Chrome 40.0.2214.91 on Linux Mint]


Summary: Directly composited images take too much memory (was: High Quality Images Rendering in Chrome with 3d transforms (css3))
After a few tests we tried a div with a background-image (which is not a great workaround) and it worked on a small app:
http://jsfiddle.net/7abx92ke/5/
(You can play with the width and height).

But, on our app, we have our zoom (scene viewer) so we can further zoom out and it still kills the browser, and in other browsers it doesn't.
Maybe our extra example will help you.
Owner: junov@chromium.org
Hi, 
Is there any update on the issue in hand? or a workaround? 

Thanks for any feedback.
Hi there,
Any news from April?
Cc: chrishtr@chromium.org

Comment 25 Deleted

Any update? A fix is really needed
Owner: chrishtr@chromium.org
No update, sorry.
Hi,
Could you please provide us some information what are you going to do with this bug? 
Are you going to fix it soon?
Owner: vmp...@chromium.org
Project Member

Comment 30 by bugdroid1@chromium.org, Jun 27 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c05804da22bca99f807b9198465dbe1318dbfa76

commit c05804da22bca99f807b9198465dbe1318dbfa76
Author: vmpstr <vmpstr@chromium.org>
Date: Mon Jun 27 23:48:50 2016

cc: Change directly composited image raster source scale occasionally.

This patch changes the behavior of directly composited images in the
following way:

- The scale starts at 1.f.
- It is halved if the ideal source scale is less than half of the raster
  scale.
- It is doubled if the ideal source scale is greater than the raster
  scale.

R=enne, chrishtr, danakj
BUG= 606287 
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

Review-Url: https://codereview.chromium.org/2100483003
Cr-Commit-Position: refs/heads/master@{#402333}

[modify] https://crrev.com/c05804da22bca99f807b9198465dbe1318dbfa76/cc/layers/picture_layer_impl.cc
[modify] https://crrev.com/c05804da22bca99f807b9198465dbe1318dbfa76/cc/layers/picture_layer_impl_unittest.cc

Thank you very much, when can we test it?
Status: Fixed (was: Assigned)
This should be in either today's or tomorrow's canary builds. Please update when you can verify.
We verified the issue and the performance and stability has definitely improved.
The GPU Memory used dropped significantly. 
Still, we are seeing a difference in performance compared to Firefox which appears to render faster: this is mostly visible in our application but also in the above fiddle.
 
Thank you for attending this issue. When is this canary version (53.0.2780.0) expected to be in a stable version?

Comment 34 by nirhe...@gmail.com, Aug 11 2016

Hi,
Can we please get an update about the expected date in which this fix will be deployed to a stable release?

Thanks,
This should make it to stable within a few weeks. You can see the current releases on omahaproxy.appspot.com

Sign in to add a comment