- Joined
- Jul 23, 2011
- Messages
- 54
- Motherboard
- Supermicro X11DAi-N
- CPU
- 2x 8260M
- Graphics
- Radeon VII
- Mac
- Classic Mac
- Mobile Phone
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:
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:
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.
- 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:
- 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.
- Go to chrome://flags/#ui-disable-partial-swap and click 'Disable' to disable it. Do not relaunch Chrome yet.
- Now go to chrome://flags/#enable-zero-copy and change it from 'Default' to 'Disabled'.
- Relaunch Chrome and see if this has resolved your issues.
- 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.