Open Bug 1400553 Opened 8 years ago Updated 3 years ago

Firefox on primary monitor at 75hz makes firefox occasionally drop FPS. Vsync/DWM issue? (Redstone 3 build)

Categories

(Core :: Graphics, defect, P3)

57 Branch
Unspecified
Windows 10
defect

Tracking

()

UNCONFIRMED
Tracking Status
firefox-esr52 --- wontfix
firefox55 --- wontfix
firefox56 --- affected
firefox57 --- affected

People

(Reporter: fxyyddr21, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [gfx-noted])

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0 Build ID: 20170915220136 Steps to reproduce: Seems like Firefox occasionally slowdowns with the fps dropping to half for some seconds. It's easiest to induce the slowdown when scrolling pages up and down with mostly text like Reddit etc, and running process explorer on my secondary 60hz monitor seems to exacerbate the issue. After further testing it seems like this slowdown only happens when the secondary monitor is activated. This behavior started with Windows Redstone build 16215 and has been a little better in the latest builds but still happens frequently. Curiously it seems that this happens only on Firefox with all other working okay excluding chrome if it's used with the D3D V-sync flag so I'm unsure if the problem is actually with Firefox or if Microsoft has screwed/changed something to make it behave like this. With less than a month left before Redstone 3 becomes public this should probably be looked at unless this issue lies with Microsoft. Actual results: Firefox Slowdowns occasionally after build 16215 on windows. Expected results: Firefox should behave like before 16215 build.
Summary: Firefox on primary monitor at 75hz makes firefox occasionally drop FPS. Vsync/DWM issue? → Firefox on primary monitor at 75hz makes firefox occasionally drop FPS. Vsync/DWM issue? (Redstone 3 build)
Component: Untriaged → Graphics
Product: Firefox → Core
Thomas, what happens if you switch to software sync, by setting layout.frame_rate in about:config to 60?
Flags: needinfo?(fxyyddr21)
Bas, what other information could help us?
Flags: needinfo?(bas)
OS: Unspecified → Windows 10
Priority: -- → P2
Whiteboard: [gfx-noted]
The slowdowns doesn't happen when using layout.frame_rate 60 or 75hz but the screen is tearing like crazy so it's visually distracting.
Flags: needinfo?(fxyyddr21)
I fixed the tearing a little by adjusting my monitor refresh rate to precisely 75hz using Toasty X CRU utility but it's still noticeable worse than hardware vsync. Adjusting the refresh rate on my 75hz monitor to 60hz and setting layout.frame_rate -1 still has slowdowns, vsynctester.com did capture it as it lost around 10-30 FPS for some seconds. Seems like it only happens if hardware vsync is used but not the software one.
Seems like the issue is also not GPU Vendor specific as i tried it out on a RX580 and the same thing happens also on my GTX 1080.
Actually i was wrong seems it still slowdowns with layout.frame_rate set to 75hz it just takes much longer to occur.
Yeah seems like it's broken the only reason i got no slowdown with layout.frame_rate at 60/75 was because the blizzard launcher was open. Closing the blizzard launcher gives me constant 60fps/60hz on the 75hz monitor when layout.frame_rate is set to 75. Seems also running any game or MPC-HC fixes it too.
A profile during this happening would be very helpful. Then we can get a better idea of what firefox is doing in this scenario. It's a little concerning that this started with a windows update.
Flags: needinfo?(bas)
I tried capturing it when it was happening the profile can be found here. https://perfht.ml/2xbfV7e This was on a clean profile on latest nightly with only ublock origin installed.
Another capture with interval set to 0.1 and buffer to 90mb in case it helps with more information. https://perfht.ml/2xc0ZpC
Forgot to mention these profile captures where with layout.frame_rate set to -1.
Ok so i tried to capture the issue as vsynctester.com is showing it but running any external screen capture software changes the behavior, but i managed to capture the exact same thing that happens in Firefox also happens in chrome using D3D V-sync Flag set to enabled. You can find video of it here https://www.youtube.com/watch?v=uGOBnGwZXiI&feature=youtu.be I wish i could video capture this inside Firefox without affecting the issue but it seems there is a lack of web-extensions able to do this.
Blocks: vsync
Priority: P2 → P3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.