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

Issue 779318 link

Starred by 3 users

Issue metadata

Status: Duplicate
Merged: issue 773705
Owner:
OOO until 2019-01-24
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug-Regression

Blocked on:
issue 773705
issue 778770



Sign in to add a comment

WebGL: Massive drop in performance after upgrade to Chrome 62

Reported by markus.m...@googlemail.com, Oct 28 2017

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36

Steps to reproduce the problem:
1. Goto www.paintsupreme.com
2. Draw something
3. See lag while drawing

What is the expected behavior?
Super smooth drawing

What went wrong?
After upgrading to 62 my iMac (Late 2013) has a massive performance issue with WebGL shaders within Chrome.

Shaders within my applications are up to 50 times slower than with 61. However, this only happens on my iMac development machine, all other  Mac and Windows machines I have tested do not  show this problem and perform very well.

I am currently trying to figure out what could cause but failed. As it worked with 61 and works on other machines with 62, it has to be something specific to this computer setup and my application framework.

Did this work before? Yes Any 61 version

Chrome version: 62.0.3202.75  Channel: stable
OS Version: OS X 10.13.0
Flash Version: 

Performance of Firefox and Safari on the same machine is fast and unaffected.
 
This seems to have something todo with the size of the browser window, i.e. the back buffer size. Apart from the iMac I only test on Notebooks which have smaller window sizes.

On the iMac, the larger the window, the exponentially slower it gets, like making the window 100px wider can result in the shaders running 10 times slower.

Did something change in 62 regarding WebGL back buffer or memory handling ? Disabling or enabling antialiasing or alpha for the back buffer does not make any difference.
Cc: krajshree@chromium.org
Components: Blink>Paint
Labels: Needs-Triage-M62 Needs-Feedback
Unable to reproduce the issue on Mac OS X 10.13.0 using chrome reported version #62.0.3202.75 and latest canary #64.0.3253.0.

Attached a screen cast for reference.

Following are the steps followed to reproduce the issue.
------------
1. Navigated to www.paintsupreme.com
2. Painted random lines.
3. Did not observe any lag and painting was smooth.

markus.moenig@- Could you please check the screen cast and please let us know if anything missed from our side and also please check the issue on canary #64.0.3253.0 by creating a new profile without any apps and extensions and please let us know if the issue still persist or not.

Thanks...!!
779318.mp4
1.7 MB View Download
Thanks for the feedback. You are doing everything right. However, in this small browser resolution it works fast for me too right now in 62.

The problem on the iMac is with bigger browser window sizes, like 1800x1200, that worked as fast as your screencast in 61. In 62 with this resolutions it slows down to a crawl.

I will test on canary #64.0.3253.0.
Project Member

Comment 4 by sheriffbot@chromium.org, Oct 30 2017

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "krajshree@chromium.org" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Just tested on canary #64.0.3253.0 using a new profile and no extensions and it is the same problem, i.e. slows down to a crawl on bigger window resolutions like 1800x1200 etc.
Components: -Blink Blink>WebGL
markus.moenig@googlemail.com can you please visit the page about:gpu and attach the contents to this issue? You can save it as web page, complete.
Here it is.
gpu.htm
138 KB View Download
Thanks. Unsure of what the issue might be immediately, but that will help triage.
Components: -Blink>Paint Internals>GPU
Owner: ericrk@chromium.org
Status: Assigned (was: Unconfirmed)
Strongly suspecting the GPU veto due to the 10.13 Apple driver bug.
Cc: ericrk@chromium.org
Owner: kbr@chromium.org
If I understand things correctly, WebGL shouldn't be impacted by the Canvas2D / GPU Raster blacklist. Assigning to kbr@ for triage. I do see a lot of suspicious error messages in the about:gpu attached - I wonder if we're being stricter on something in M62 which is leading to extra error handling?

Comment 12 by kbr@chromium.org, Oct 30 2017

Blockedon: 773705 778770
There are significant bugs in the macOS 10.13 driver for NVIDIA GPUs. See  Issue 773705  and  Issue 778770 . Please try quitting Chrome and running it from the Terminal as follows:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-features=WebGLImageChromium

Does that work around the problem?

Sorry no, the issue is still the same. I understand that there are bugs in 10.13 but things just worked fine in M61.

Is there a way for me to go back to M61 somehow ? Quite heavily invested in Chrome as a development (and deployment) platform.

Comment 14 by kbr@chromium.org, Oct 31 2017

You can download Chromium continuous builds from https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html (linked from http://build.chromium.org ), specifically https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Mac/ . But Google deliberately doesn't provide older Chrome binaries.

Are you 100% sure you spelled the command line flag correctly? Per https://bugs.chromium.org/p/chromium/issues/detail?id=778770#c3 , if you run:
http://webglsamples.org/multiple-views/multiple-views.html

with no command line arguments, on an NVIDIA GPU on macOS with 10.13, it should flicker, and with the flag specified correctly, it should not.

Yes, it fixes the multiple-view sample for me, but PaintSupreme.com still does not work. The symptoms are different too, i.e. it does not flicker, it just slows down to a crawl in bigger window resolutions like 1800x1200.

Thanks for the download links!


But one more thing. My framework uses both WebGL and the 2D Canvas. So if there is a blacklist for Canvas2D / GFU Raster as mentioned above by ericrk@chromium.org, it would affect the overall performance if PaintSupreme.com for sure.
I just hid the 2D Canvas and things got better, i.e. fast. How my framework works: I have a 2D canvas overlaid on top by the WebGL canvas via alpha. So I paint some widgets in Canvas2D and overlay the WebGL canvas / graphics / widgets on top of this.

If there would be no GPU acceleration for this overlaying / alpha, things would get slower with higher resolutions, which is what I am seeing right now. Again, if I hide the Canavs2D things are fast in the WebGL canvas.
Ah, ok, that makes sense. Thanks for the additional explanation.

Unfortunately, there are pretty severe issues with NVidia GPUs on high-sierra (see  issue 773705 ). You may not have experienced them yourself, but they were impacting a lot of users (canvas rendering just disappeared, or lead to full-system visual corruption). We're actively looking for a better workaround than disabling 2D Canvas. We're also hopeful that Apple will fix the underlying issue removing the need for us to have workarounds.

Note that this should only impact Macs with NVidia GPUs (mostly 2012/2013 macs).
Thanks ericrk@chromium.org for the explanation. I can imagine all this is a pain for you guys.

However, M61 works, Safari works, Firefox works, only M62 does not work. And the fix from Apple could come in months if it all ... .

Comment 20 by kbr@chromium.org, Oct 31 2017

Mergedinto: 773705
Status: Duplicate (was: Assigned)
Thanks for your feedback. I'm working on re-enabling accelerated 2D canvas and GPU rasterization, only to regular OpenGL textures instead of IOSurfaces, in  Issue 773705  and  Issue 778770 . This will address the performance issue. Let me duplicate this into one of the other bugs.

Thanks for tackling this!
I have huge performace drop in Sierra as well after updating chrome to 62 and 63. All my html 5 games lag and use a lot of CPU. gpu.html attached. Are you sure it's connected with WebGL driectly?
gpu.htm
55.4 KB View Download

Sign in to add a comment