Contribute
Register

[FIX] Chrome graphics issues (but without turning off graphics acceleration!)

Status
Not open for further replies.
Joined
Jul 23, 2011
Messages
54
Motherboard
Supermicro X11DAi-N
CPU
2x 8260M
Graphics
Radeon VII
Mac
  1. Mac Pro
Classic Mac
  1. Classic
  2. Power Mac
  3. PowerBook
  4. Quadra
  5. SE
Mobile Phone
  1. iOS
I am not sure how many people this effects, but I imagine a number of users with a relatively recent NVIDIA or AMD GPU have been experiencing persistent graphics issues in Chrome since at least 10.11. These issues include:

  • Garbled browser page content, often appearing as blocks of the page rendered in the wrong spot or out of order
  • Pages that display nothing but white
  • Inconsistent redraws of the page, meaning part of the page might update what it shows in response to scrolling or a mouse-over, while other parts do not.
  • Entire page doesn't always redraw in response to small scrolls. This will manifest as a seemingly correctly-rendered web page, but you might notice that none of the links or controls on the page respond to the mouse, but if you click just above or below them, they will. This is because the page is actually scrolled a few dozen pixels above or below what is being shown.
  • Occasional distortion of a page (things might look 'stretched' or squished').

The gold standard for fixing these issues is to simply go to Chrome's advanced preferences and uncheck 'Use hardware acceleration when available'. And at least for me, this does indeed solve the issues.

But I don't want to turn off graphics acceleration. Aside from causing Chrome to squander CPU resources drawing and redrawing certain dynamic or content-heavy pages, you lose the ability to use WebGL and a lot of other cool up-and-coming web technologies.

I mean, look at all this cool stuff people are doing with WebGL. One of my personal favorites. Google Earth also requires hardware acceleration be turned on... and considering it is now browser-only (or rather, Chrome-only I guess), it makes this solution even more unacceptable.

I am not sure if these will completely resolve everyone's issues, but the following seems to have resolved them for me on both a GTX 960 and an RX 480.

To (hopefully) fix the issues with Chrome, perform the following from within Chrome:

  1. Go to Settings->Advanced->Use hardware acceleration when available. Ensure that you have it checked/enabled if you at one point disabled it. Yep, we're reenabling the scourge of your web browsing.
  2. Go to chrome://flags/#ui-disable-partial-swap and click 'Disable' to disable it. Do not relaunch Chrome yet.
  3. Now go to chrome://flags/#enable-zero-copy and change it from 'Default' to 'Disabled'.
  4. Relaunch Chrome and see if this has resolved your issues.
  5. IF IT HAS NOT, then you can go to chrome://flags/#enable-gpu-rasterization and disable it. This is kind of the nuclear option, it has a similar effect as unchecking the 'Use hardware acceleration when available' box and forces web pages to, for the most part, be rendered in software. However, you will retain specific exceptions where graphics acceleration will still be used, such as on HTML5 canvases, videos, games or WebGL content. So this will enable you to still use those advanced new web technologies but will otherwise render pages in software. But you should definitely try the first options first, as that resolved the issues on my GTX 960 (but not my RX480).

Also, you might have experienced these same issues in certain apps, specifically apps like https://atom.io/ or anything based on https://electron.atom.io/. This is because these apps are fundamentally based on Chromium, and are secretly chrome browser windows with some fancy javascript.

This enters advanced territory, but at least for atom, you can run it from the terminal using `atom --disable-gpu &` as a work around. If developing an electron app, you can call app.disableHardwareAcceleration() in your main.js file.
 
Thanks you very much for this report,
I have the same problem, with Chrome and VSCode (also Electron based).
 
Great!. It work for me.
 
Nice! chrome work well. and how to config for VSCode?
 
Code:
create a file 'code' with:

#!/bin/sh
nohup /Applications/Visual\ Studio\ Code.app/Contents/MacOS/Electron --disable-gpu > /dev/null 2>&1 &

and

sudo mv code /usr/bin/code
sudo chmod +x /usr/bin/code

and startup vscode in terminal: code.

this is temporary way
 
I am not sure how many people this effects, but I imagine a number of users with a relatively recent NVIDIA or AMD GPU have been experiencing persistent graphics issues in Chrome since at least 10.11. These issues include:

  • Garbled browser page content, often appearing as blocks of the page rendered in the wrong spot or out of order
  • Pages that display nothing but white
  • Inconsistent redraws of the page, meaning part of the page might update what it shows in response to scrolling or a mouse-over, while other parts do not.
  • Entire page doesn't always redraw in response to small scrolls. This will manifest as a seemingly correctly-rendered web page, but you might notice that none of the links or controls on the page respond to the mouse, but if you click just above or below them, they will. This is because the page is actually scrolled a few dozen pixels above or below what is being shown.
  • Occasional distortion of a page (things might look 'stretched' or squished').

The gold standard for fixing these issues is to simply go to Chrome's advanced preferences and uncheck 'Use hardware acceleration when available'. And at least for me, this does indeed solve the issues.

But I don't want to turn off graphics acceleration. Aside from causing Chrome to squander CPU resources drawing and redrawing certain dynamic or content-heavy pages, you lose the ability to use WebGL and a lot of other cool up-and-coming web technologies.

I mean, look at all this cool stuff people are doing with WebGL. One of my personal favorites. Google Earth also requires hardware acceleration be turned on... and considering it is now browser-only (or rather, Chrome-only I guess), it makes this solution even more unacceptable.

I am not sure if these will completely resolve everyone's issues, but the following seems to have resolved them for me on both a GTX 960 and an RX 480.

To (hopefully) fix the issues with Chrome, perform the following from within Chrome:

  1. Go to Settings->Advanced->Use hardware acceleration when available. Ensure that you have it checked/enabled if you at one point disabled it. Yep, we're reenabling the scourge of your web browsing.
  2. Go to chrome://flags/#ui-disable-partial-swap and click 'Disable' to disable it. Do not relaunch Chrome yet.
  3. Now go to chrome://flags/#enable-zero-copy and change it from 'Default' to 'Disabled'.
  4. Relaunch Chrome and see if this has resolved your issues.
  5. IF IT HAS NOT, then you can go to chrome://flags/#enable-gpu-rasterization and disable it. This is kind of the nuclear option, it has a similar effect as unchecking the 'Use hardware acceleration when available' box and forces web pages to, for the most part, be rendered in software. However, you will retain specific exceptions where graphics acceleration will still be used, such as on HTML5 canvases, videos, games or WebGL content. So this will enable you to still use those advanced new web technologies but will otherwise render pages in software. But you should definitely try the first options first, as that resolved the issues on my GTX 960 (but not my RX480).

Also, you might have experienced these same issues in certain apps, specifically apps like https://atom.io/ or anything based on https://electron.atom.io/. This is because these apps are fundamentally based on Chromium, and are secretly chrome browser windows with some fancy javascript.

This enters advanced territory, but at least for atom, you can run it from the terminal using `atom --disable-gpu &` as a work around. If developing an electron app, you can call app.disableHardwareAcceleration() in your main.js file.


So... I tried these suggestions and now Chrome doesn't display any pages at all LOL! In fact, I can't view any web page, the settings page, the flags page... they all appear blank. If I hover my mouse over the page it will switch to a pointer hand to indicate a clickable object, but I still cannot see anything. I uninstalled and reinstalled and it did not fix anything. I even signed in on a different computer and reset the settings... nothing. Any help? I will just make do with Firefox until then.
 
So... I tried these suggestions and now Chrome doesn't display any pages at all LOL! In fact, I can't view any web page, the settings page, the flags page... they all appear blank. If I hover my mouse over the page it will switch to a pointer hand to indicate a clickable object, but I still cannot see anything. I uninstalled and reinstalled and it did not fix anything. I even signed in on a different computer and reset the settings... nothing. Any help? I will just make do with Firefox until then.


I just the some issue when set enable-gpu-rasterization as default , you can
`cd /Applications/Google Chrome.app/Contents/MacOS` and run `./Google\ Chrome --disable-gpu` maybe you can get page content, and then set chrome://flags/#enable-gpu-rasterization disable, rerun chrome
 
So... I tried these suggestions and now Chrome doesn't display any pages at all LOL! In fact, I can't view any web page, the settings page, the flags page... they all appear blank. If I hover my mouse over the page it will switch to a pointer hand to indicate a clickable object, but I still cannot see anything. I uninstalled and reinstalled and it did not fix anything. I even signed in on a different computer and reset the settings... nothing. Any help? I will just make do with Firefox until then.
if you are using Nvidia driver 387.10.10.10.25.158, you can update your driver https://www.tonymacx86.com/threads/...eak-on-high-sierra.233510/page-4#post-1701208 , and then reset chrome. now, my chrome and vscode can work fine
 
Nice work! Worked for me, congratulations!
 
Works for me for GTX 950, thanks!!!
 
Status
Not open for further replies.
Back
Top