Closed Bug 1496318 Opened 6 years ago Closed 6 years ago

Irregular grid on some sites background with layers.gpu-process.enabled=true

Categories

(Core :: Graphics: WebRender, defect, P4)

64 Branch
defect

Tracking

()

RESOLVED DUPLICATE of bug 1491237

People

(Reporter: kkm, Unassigned)

References

Details

Attachments

(5 files)

Attached image render-grid-120.PNG
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0

Steps to reproduce:

I have been seeing this problem intermittently for a while with Nightly, but now it seems I narrowed it... more or less. The problem is, some sites show a semi-regular rectilinear grid on the background. It seem to become worse recently, and Firefox's own PDF viewer is also affected, there is sometimes this grid showing up as bright white lines in the dark background area outside of PDF pages. Here I am reproducing it with the page https://git-scm.com/book/en/v2/Git-Internals-The-Refspec. From memory, this is the site I have most often seen affected.

Today, I reproduced it in a very stable manner, in a freshly created profile. 

I am attaching screenshots of the page https://git-scm.com/book/en/v2/Git-Internals-The-Refspec made at three different zoom levels, 100, 120 and 30%. The grid usually manifests as dark lines on light background, or the other way round.

Reproduction is just create a new profile, open the page mentioned above, and bob's your uncle, the grid is all over.

I tried changing almost all boolean flags in the settings, but the perfect correlation is with the  setting `layers.gpu-process.enabled`. When switching it to false, the problem does not show after restarting the browser. Switching back to true reproduces it again.

Setting `layers.acceleration.disabled` to true also does away with the bug, but that's a sledgehammer.


Actual results:

Dark grid on page background.


Expected results:

Uniform background color, methinks.
Attached image render-grid-100.PNG
Attached image render-grid-30.PNG
Attached file about.support.json
This is the data file copied to clipboard with the "Copy data" button on the about:support page from the brand new profile exposing the bug. I just re-created a brand new one, to confirm that the problem is still there with everything set to default.

Hope this could help. I'll be happy to provide more information, if told which and how to obtain it. I'm a SWE, and hopefully do not need too detailed instructions if some logs need to be captured.
Component: Untriaged → Graphics
Product: Firefox → Core
I am certainly seeing this on more sites than before, including this very one! Here it shows up in light blue. See render-grid-bugzilla-90.PNG.

FWIW, the grid does not scroll along with the page on https://bugzilla.mozilla.org/, but does scroll on https://git-scm.com/book/en/v2, and flickers during scroll, as if disappearing for a brief tens of milliseconds span while the screen is redrawn then reappearing again.
Hi, thank you for the report. I think the about:support page is saying webrender has been enabled, as you are on nightly with qualifying hardware. You could try disabling webrender in about:config and see if that fixes it.
Component: Graphics → Graphics: WebRender
QA Contact: dbolter
Hi! Do you have set "Use my preference emphasizing" to "Quality" in your NVIDIA control panel? (bug 1491237)
If yes, please reset it to its default ("Let the 3D application decide") and check if it fixes the problem.
QA Contact: dbolter
Priority: -- → P4
(In reply to Jan Andre Ikenmeyer [:darkspirit] from comment #6)
> Do you have set "Use my preference emphasizing" to "Quality" in your
> NVIDIA control panel? (bug 1491237)
> If yes, please reset it to its default ("Let the 3D application decide") and
> check if it fixes the problem.

Yes and yes, this setting resolves the grid on the Git Book page. Did not test on any other sites, but that one always reproduced it.

(In reply to Jamie Nicol [:jnicol] from comment #5)
> I think the about:support page is saying
> webrender has been enabled, as you are on nightly with qualifying hardware.
> You could try disabling webrender in about:config and see if that fixes it.

No, setting gfx.webrender.enabled to false does not resolve the bug.

Naturally, I tested both settings independently, reverting them to make sure the grid-like artifact is there before each test.

Thanks, let me know if I can be of any more help, I'll be glad to do other tests, and sorry if I cannot respond quickly!
(In reply to K. Katsnelson from comment #7)
> Naturally, I tested both settings independently, reverting them to make sure
> the grid-like artifact is there before each test.

Note that the browser needs to be restarted for the pref that disables / enables WebRender to be disabled to make a difference. Also, the pref that needs to be tweaked is gfx.webrender.force-disabled (not gfx.webrender.all).

Did you restart? (Probably yes, but worth checking that you were really disabling WebRender).

You can double-check whether WebRender is enabled in about:support.

Thanks!
(In reply to Jan Andre Ikenmeyer [:darkspirit] from comment #6)
> Hi! Do you have set "Use my preference emphasizing" to "Quality" in your
> NVIDIA control panel? (bug 1491237)

I posted a comment to that bug, narrowing the behavior to the "Anisotropic filtering" setting in the driver.
(In reply to Emilio Cobos Álvarez (:emilio) from comment #8)
> the pref that
> needs to be tweaked is gfx.webrender.force-disabled (not gfx.webrender.all).

Ah, that makes the difference, sorry! With this setting set to true, the artifacts also disappear.

The about:support page says 

WEBRENDER	
opt-in by default: WebRender is an opt-in feature
disabled by user: User force-disabled WR

I'm wondering what is the difference between the settings "gfx.webrender.force-disabled=true" and "gfx.webrender.enabled=false" tho. The latter has no effect.

> (not gfx.webrender.all)

This one I did not touch.
“opt-in by default” means “opt-out,” likely :))
There are two mechanisms of enabling WebRender:

WEBRENDER (opt-in by default)
gfx.webrender.enabled or gfx.webrender.all (sets "all" needed prefs = layers.acceleration.force-enabled;true on Linux)

WEBRENDER_QUALIFIED (only modern Nvidia on a Win10 without battery is "qualified" at the moment)
gfx.webrender.all.qualified (true by default and a hidden pref)
Can be disabled with gfx.webrender.force-disabled.
Status: UNCONFIRMED → RESOLVED
Closed: 6 years ago
Resolution: --- → DUPLICATE
(In reply to Jan Andre Ikenmeyer [:darkspirit] from comment #12)
> There are two mechanisms of enabling WebRender:
> 
> WEBRENDER (opt-in by default)
> gfx.webrender.enabled or gfx.webrender.all (sets "all" needed prefs =
> layers.acceleration.force-enabled;true on Linux)
> 
> WEBRENDER_QUALIFIED (only modern Nvidia on a Win10 without battery is
> "qualified" at the moment)
> gfx.webrender.all.qualified (true by default and a hidden pref)
> Can be disabled with gfx.webrender.force-disabled.

I see, thank you! I have a GTX 980 and a Windows 10 desktop, so that probably matches the criteria to be qualified.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: