Closed Bug 1637497 Opened 4 years ago Closed 4 years ago

Partial present causes glitches on Win7 with non-Aero theme

Categories

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

Desktop
Windows 7
defect

Tracking

()

VERIFIED FIXED
mozilla79
Tracking Status
firefox-esr68 --- unaffected
firefox76 --- disabled
firefox77 --- disabled
firefox78 --- disabled
firefox79 --- verified

People

(Reporter: yoasif, Assigned: sotaro)

References

(Regression)

Details

(Keywords: correctness, regression)

Attachments

(6 files)

Reported: https://www.reddit.com/r/firefox/comments/ghkj22/terrible_graphical_glitches_on_nightly/

Since a few days ago, I've been having a lot of tearing-like glitches on Firefox Nightly. They happen almost every time I:
Alt-Tab into Firefox (or switch to a Nightly window using the taskbar, or minimize it by clicking on a maximized browser window)
Switch between two Firefox windows
Close a file selection or other explorer dialog (less often)

It does not happen when switch to a different tab, in fact that is - along with moving the mouse in the general area where the bug is happening - a way to make the "ghost" image disappear. Usually it's the bottom half of the screen that doesn't "refresh".

Disabling WR resolves the issue.

Attached file about:support

Looks like some screen tearing happening for some folks on Win7

Flags: needinfo?(jmuizelaar)
Flags: needinfo?(jmuizelaar)
Summary: Bad tearing-like glitches on NVIDIA GeForce GTX 960 → Bad tearing-like glitches on NVIDIA GeForce GTX 960 on Win7

Hey Sotaro - can you reproduce this?

NI-ing Rares to see if you can repro

Flags: needinfo?(rares.doghi)
Severity: -- → S3
Priority: -- → P2

Hi, I was able to reproduce this issue In our latest Nightly build, Beta as well as Release after setting the gfx.webrender.all = true, ill attach a few screenshots and a screencapture to this issue.

I will also attach the about:support from my computer, it happens on my Nvidia GT 730 as well.

Flags: needinfo?(rares.doghi)

Sotaro, can you see if you can repro?

Flags: needinfo?(sotaro.ikeda.g)
Attached image tearrRlease.png

attached the aboutSupport file with Webrender enabled.

I can reproduce this window expose problem only when Win7 Aero theme is disabled.
This problem looks a bit like what I saw on KDE a year ago: bug 1518796. (bug 1502519 looks different, but is still reproducible for me on KDE.)
i3 also suffers from a window expose bug: bug 1572625

Has STR: --- → yes
Keywords: correctness
Hardware: Unspecified → Desktop
Summary: Bad tearing-like glitches on NVIDIA GeForce GTX 960 on Win7 → Glitches on Win7 with non-Aero theme

As a band aid we can probably disable WebRender when we don't have DWM: gfxWindowsPlatform::GetPlatform()->DwmCompositionEnabled()
Andrew, want to make a patch for that?

Flags: needinfo?(aosmond)

(In reply to Jeff Muizelaar [:jrmuizel] from comment #13)

As a band aid we can probably disable WebRender when we don't have DWM: gfxWindowsPlatform::GetPlatform()->DwmCompositionEnabled()
Andrew, want to make a patch for that?

Sure. I'll fork the bug so we can track the original issue.

Assignee: nobody → aosmond
Status: NEW → ASSIGNED
Flags: needinfo?(aosmond)
Assignee: aosmond → nobody
Status: ASSIGNED → NEW

(In reply to Jessie [:jbonisteel] pls NI from comment #6)

Sotaro, can you see if you can repro?

By disabling DWM manually, I confirmed that the problem happened. It seems that :aosmond is already working for the bug.

Flags: needinfo?(sotaro.ikeda.g)
No longer blocks: wr-78

Confirmed: comment 7 and bug 1638431 are caused by partial present.

https://hg.mozilla.org/integration/autoland/shortlog/5674dddc94f8
last good: mozregression --repo autoland --launch 8f47bf276c0e499246652701cd6b9b23e090a0d8 --pref gfx.webrender.all:true -a https://reddit.com -a https://mozilla.org
first bad: mozregression --repo autoland --launch 5674dddc94f8a8e9c034c80b3650417bf39ba697 --pref gfx.webrender.all:true -a https://reddit.com -a https://mozilla.org

First bad is fine if you set gfx.webrender.max-partial-present-rects:0.

bug 1638835: Maybe Win8 has the same problem. I still wanted to install it.

Has Regression Range: --- → yes
Keywords: regression
Regressed by: 1593179
See Also: → 1638835
Summary: Glitches on Win7 with non-Aero theme → Partial present causes glitches on Win7 with non-Aero theme

Intel HD Graphics 630 (0x8086 0x5912 21.20.16.4508, 2016-08-27, 2560x1440)
Autoscrolling this page with Direct3D 11 (bug 1638469) up and down stutters and there is checkerboarding at the top when scrolling up.
WebRender ("first bad" with partial present disabled) scrolls smoothly.

I am going to take a look.

Assignee: nobody → sotaro.ikeda.g

Firefox on Win7 should require DWM (Aero) only for partial present (instead of blocking WebRender completely) and Firefox graphics should be reinitialized when the user changes the Windows theme: When switching from Aero to non-Aero, wrong window buttons are shown and the corner looks incorrectly cut out until you restart Firefox.

No longer blocks: 1638469
Depends on: 1638469

Bug 1638469 disable WebRender during initialization. Then, it does not handle enabling/disabling DWM dynamically. Then the problem still exist on the following STR

  • [1] Confirm Aero is enabled
  • [2] Start Firefox with WebRender
  • [3] Disable Aero by changing window theme
  • [4] Switch between two Firefox windows
Pushed by sikeda.birchill@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/e9507c0042be
Disable partial present dynamically when Dwm is disabled r=jrmuizel
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla79

Sotaro, I meant to write this in the review comments but it looks like I didn't. Do you mind adding a comment around:

   mFullRender = true;
  }

describing why it is necessary?

Flags: needinfo?(sotaro.ikeda.g)
Depends on: 1642834
See Also: → 1642839

(In reply to Jeff Muizelaar [:jrmuizel] from comment #27)

Sotaro, I meant to write this in the review comments but it looks like I didn't. Do you mind adding a comment around:

   mFullRender = true;
  }

describing why it is necessary?

Bug 1642834 is for adding a comment. But Bug 1642839 seems like a better fix.

Flags: needinfo?(sotaro.ikeda.g)
Flags: qe-verify+

This issue is verified as fixed in Beta 79.0b2 on Windows 7.

Status: RESOLVED → VERIFIED
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: