Closed Bug 1555244 Opened 5 years ago Closed 3 years ago

Webrendered window overflows monitor

Categories

(Core :: Graphics, defect, P3)

67 Branch
x86_64
Windows 10
defect

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox67 --- affected
firefox71 --- affected
firefox72 --- affected
firefox73 --- affected

People

(Reporter: sensorih4, Unassigned)

References

(Depends on 1 open bug, Blocks 1 open bug)

Details

Attachments

(2 files)

Attached image overflow.png

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0

Steps to reproduce:

Maximize two windows on two different monitors.

On the left one open a site with a dark background + custom / hidden scrollbar eg.
https://www.twitch.tv

and on the right open something like https://www.reddit.com with a white background.

On my setup the left monitor is 4K (150% dpi scaling) and the right one 1920x1080.

Windows 10 1809 + GTX 1070 with 430.86 driver.

Actual results:

The right side window overflows on top of the left one when the right has focus. Doesn't overflow from the left to the right.

Expected results:

No overflow.

Component: Untriaged → Graphics: WebRender
Product: Firefox → Core

Doesn't sound like something that WR would affect: it can only render to the context Gecko creates, and if it's out of bounds (according to user expectations), we would render it wrong with D3D compositor as well.
Could you double-check with "gfx.webrender.all = false" setting (needs restart of the browser) ?

Flags: needinfo?(sensorih4)

Could you double-check with "gfx.webrender.all = false" setting (needs restart of the browser) ?

Is this problem gone if you open about:config, set gfx.webrender.force-disabled to true and restart Firefox?

Yep. If I disable webrender this goes away.

Flags: needinfo?(sensorih4)
Blocks: wr-67
Priority: -- → P2
OS: Unspecified → Windows 10
Hardware: Unspecified → x86_64

Dzmitry, any thoughts about how WR could be the cause here?

Flags: needinfo?(dmalyshau)

I tried reproducing this using my two Dell U2413 monitors - both 1920x1080, set the left to 150% scaling, but couldn't reproduce it. I do see that when the scaling is set to > 100% there is a thin 1-px wide white border around the window on that display but that's on all sides of the window, regardless of which window has focus, and regardless of webrender. So it's probably a different thing than what you're seeing.

Not able to repro it on Linux/X11 with laptop panel 3200x1800 on the left of the external 4K Dell monitor, both 200% scaling.
No matter what WR wants to render, the GL context and window created for it by Gecko limit what pixels can be output, so the problem lies somewhere in the that area.

Flags: needinfo?(dmalyshau)

I've been living with this for awhile and I think I figured out what triggers it. If I open a Youtube video on the right side monitor (1920x1080) and fullscreen it. Then exit that fullscreen the 1px overflow appears and sticks for as long as I have Firefox open. I need to restart the browser to clear it.

Depends on: 1542668
Flags: needinfo?(sotaro.ikeda.g)

When window is maximized on Windows, it has off-screen area. It might be related.

See https://bugzilla.mozilla.org/show_bug.cgi?id=1542668#c12

See Also: → 1542668

I could not reproduce the same problem on Windows10. But I wonder if comment 8 might be related.

Flags: needinfo?(sotaro.ikeda.g)

deleted

Blocks: wr-68
No longer blocks: wr-67

Doesn't sound like this needs to block the rest of our roll-out.

Blocks: wr-69
No longer blocks: wr-68
Blocks: wr-70
No longer blocks: wr-69
Blocks: wr-71
No longer blocks: wr-70
Blocks: wr-72
No longer blocks: wr-71
Flags: needinfo?(a.beingessner)

Alexis - wondering if you could take a peak at this? Wondering if it is different from bug 1542668

I can't reproduce this, but it's been long enough that we should check in with the reporter to make sure they still see this.

Do you?

Flags: needinfo?(sensorih4)

I still have the bug every time I fullscreen a video. I've found out that I can clear it if I just drag the window to the second monitor and fullscreen it there. No need to restart the whole browser. Then I can move it back to the original monitor and I can't see that 1px overflow anymore until I fullscreen a video.

Flags: needinfo?(sensorih4)

Could we get QA's help trying to reproduce this as per the steps and the specs in the description? https://bugzilla.mozilla.org/show_bug.cgi?id=1555244#c0

We weren't able to repro at first try, but would be interesting to see if QA can.

Flags: needinfo?(tmaity)
Priority: P2 → P3
Blocks: wr-wild
No longer blocks: wr-72

I just figured out that I can reproduce this in a different way:

Fullscreened windows on both monitors like in the first post.

Then hovered Firefox in the taskbar and focused the window that was on the right monitor.

Here's an image where that's demonstrated: https://i.imgur.com/ZgtFgzg.png

In the middle you can see the same sort of vertical white line on the right side of my left monitor.

The only difference is that the line is always white but if I fullscreen a video that line gets the color from the webpage.

We seen some reports come in of WebRender bugs when multiple monitors are being used. Can QA spend some time testing WR with multiple monitors and see if any issues and be reproduced? We'd like to understand better how to reproduce the issues (ie under what conditions they can be reproduced). Please use a similar hardware configuration as the reported noted in the first comment.

NI-ing as per instructions: https://mana.mozilla.org/wiki/pages/viewpage.action?spaceKey=PI&title=PI+Request

Flags: needinfo?(rares.bologa)
Flags: needinfo?(andrei.vaida)

Hi, I was able to reproduce this issue on a Windows 10 desktop Pc with NVIDIA GeForce GTX 1050 in our latest version of Firefox Nightly build ID 20200105214143.

  1. Scale the 1st 4k monitor to 150% dpi.
  2. Start the Firefox browser in full screen and reach Twitch.com with Night mode ON set from the user options.
  3. On the 2nd 1080p monitor open a new window of Firefox in full screen and reach Youtube.com.
  4. Start any video and double click the screen a few times in order to enter and exit full screen mode.

Actual Results:
There is a white line displayed on the first monitor from the 2nd monitor.

Please note that this issue also occured after setting "gfx.webrender.force-disabled = true" and WebRender was Disabled.
Please also note that I tried the same steps by connecting a Laptop with GTX 1650 to a 4k monitor and the white line would be displayed only for a brief second after exiting Full screen Mode on youtube.

Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: needinfo?(tmaity)
Flags: needinfo?(rares.bologa)
Flags: needinfo?(andrei.vaida)
Attached file aboutSupport.txt

I have attached the aboutSupport file from the desktop PC I managed to reproduce this issue on.

Flags: needinfo?(a.beingessner)
Blocks: not-wr
No longer blocks: wr-wild
Component: Graphics: WebRender → Graphics

About a month ago I updated to Windows 10 version 2004 and that update made this problem happen without fullscreening anything.

Related bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1643260

I can report that Firefox 80 fixed all of this for me.

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: