Screen flashing when resizing the browser window
Categories
(Core :: Graphics, defect, P3)
Tracking
()
People
(Reporter: sollacea, Unassigned)
References
(Blocks 1 open bug, Regression)
Details
(Keywords: regression)
Attachments
(1 file)
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0
Steps to reproduce:
Here is a video demonstrating the effect: https://youtu.be/XbU3P1O0Pqo
This appears to happen on both my machines of different makes to varying degrees, only when moving the top and left edges of the screen. (bottom and right are not affected)
Actual results:
Opposing edge of the window tears and jumps when resizing the window.
Expected results:
I'd expect it to not tear, and to stay in one place.
Updated•5 years ago
|
Comment 1•5 years ago
|
||
In my case, set gfx.direct3d11.use-double-buffering to false fix the issue on Nightly75.0a1(20200226092757) Windows10.
Comment 2•5 years ago
|
||
Comment 3•5 years ago
|
||
Sollace or Alice, do either of you see similar behaviour in Chrome?
Comment 4•5 years ago
|
||
Chrome Dev(82.0.4062.3): No, I can not reproduce the issue. The black area does not extend beyond the browser window to the right or bottom. Black areas only appear within the browser area.
Updated•5 years ago
|
@Jeff I can corroberate. Tested on chrome and both browsers on a separate laptop, and in neither case does Chrome exhibit the same issue as this. There are slight black/white unpainted areas, but they remain inside the window and are generally not as exaggerated in Chrome.
Updated•5 years ago
|
Comment 7•5 years ago
|
||
Alice do you see this with gfx.webrender.all=true?
Comment 8•5 years ago
|
||
(In reply to Jeff Muizelaar [:jrmuizel] from comment #7)
Alice do you see this with gfx.webrender.all=true?
Yes, I can reproduce the issue with WebRender.
If WebRender enabled, the regression window is different from comment#2.
#1 Regression window with WebRender (white area extends to the edge of the screen):
https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=7ca58ce097793365fc2506487d7ba79729ac59f9&tochange=dcd10220d55aea46db212314c46d25a96a7be243
Suspect:
d328d8eda8e68d669ebc77184c8d8d870cafcb7c sotaro — Bug 1191971 part 2 - Add capatiblity to enable DComp r=bas
19142efa84a5b041c193b311ff06838e94d1c154 sotaro — Bug 1191971 part 1 - Create child window in gpu process r=bas
gfx.webrender.dcomp-win.enabled=false fixes the issue on Nightly76.0a1 as well as the bad build.
#2 Regression window with WebRender (black area extends instead of white):
https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=2ef5c0e6dd2cdd667f3aaa9dae6332734664fb01&tochange=af6a7edf0069549543f2fba6a8ee3ea251b20829
Suspect:
96efac6422538e41756d352e6cc508fb04eea6f5 sotaro — Bug 1479680 - Change clear_color to (0.0, 0.0, 0.0, 0.0) in webrender r=nical
I tested again today, and I see the issue is completely gone. :/
With or without "gfx.webrender.all=true"
Unless you guys pushed a fix to the nightly branch and I didn't realise, the only other change is that Windows updated.
Updated•5 years ago
|
Updated•5 years ago
|
Comment 10•5 years ago
|
||
Alice do you still see this?
Comment 11•5 years ago
|
||
(In reply to Jeff Muizelaar [:jrmuizel] from comment #10)
Alice do you still see this?
I can still reproduce the issue on Nightly76.0a1(20200326093308) Windows10 new profile with/without WebRender.
Updated•5 years ago
|
Comment 12•5 years ago
|
||
Rares, can you try and reproduce? Thank you.
Comment 13•5 years ago
|
||
Bug 1579732 and Bug 1494522 are similar bugs. This bug and they seem to be caused by compositor window usage.
Updated•5 years ago
|
Comment 14•5 years ago
|
||
Symptom of flickering during resizing seemed to be affected by window rendering configuration
- [1] HWND + Compositor window + DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL SwapChain
- D3D compositor with double buffering
- [2] HWND + Compositor window + DirectComposition + DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL SwapChain
- WebRender without WR native compositor
- [3] HWND + Compositor window + DirectComposition + IDCompositionVirtualSurface
- WebRender with WR native compositor
With [1], I saw significant flickering. But with [3], the flickering was less amount. When [3] is used, the flickering seemed less significant than chrome browser for me.
By the way chrome browser normally use "HWND + Compositor window + DirectComposition + IDCompositionSurface".
Comment 15•5 years ago
|
||
Alice0775 White, can you test the flickering with [3] of comment 4? How much flickering do you see with it? If WR native compositor is blocked by Bug 1620491, it could be enabled by pref gfx.webrender.compositor.force-enabled=true.
Comment 16•5 years ago
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #15)
Alice0775 White, can you test the flickering with [3] of comment 4? How much flickering do you see with it? If WR native compositor is blocked by Bug 1620491, it could be enabled by pref gfx.webrender.compositor.force-enabled=true.
Yes, WR native compositor is blocked.
The tearing(the black area extends to the edge of the monitor) issue is no longer reproduced with gfx.webrender.compositor.force-enabled=true.
Comment 18•5 years ago
|
||
(In reply to Alice0775 White from comment #16)
Yes, WR native compositor is blocked.
The tearing(the black area extends to the edge of the monitor) issue is no longer reproduced with gfx.webrender.compositor.force-enabled=true.
Great! Thanks for the confirmation.
Updated•5 years ago
|
Comment 19•5 years ago
|
||
I can also reproduce this and it is also better for me with the compositor enabled.
Comment 20•5 years ago
|
||
Let's see if we can get DirectComposition most places and if not worry about this then.
Updated•5 years ago
|
Updated•5 years ago
|
Updated•2 years ago
|
Description
•