Open Bug 1598126 Opened 5 years ago Updated 2 years ago

Twitch.tv videos stutter when going fullscreen

Categories

(Core :: Graphics, defect, P3)

71 Branch
x86_64
Windows 10
defect

Tracking

()

Tracking Status
firefox-esr68 --- unaffected
firefox72 --- disabled
firefox73 --- disabled
firefox74 --- disabled
firefox75 --- disabled
firefox76 --- disabled

People

(Reporter: alwayschangingparadigm, Unassigned)

References

(Regression)

Details

(Keywords: regression)

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

Steps to reproduce:

Watch any video from Twitch in 720p60 or 1080p60 while switching in viewing in fullscreen.

Actual results:

It might make the video to stutter when watching in fullscreen. It happens often, but not all the time. The issue doesn't seem to be present using Firefox 70.0.1. It is a regression starting with the FIrefox 71 branch.

Expected results:

It's suppose to play without any or almost no stutter.

OS: Unspecified → Windows 10
Hardware: Unspecified → x86_64

Bugbug thinks this bug should belong to this component, but please revert this change in case of error.

Component: Untriaged → Audio/Video: Playback
Product: Firefox → Core

The issue happens with an Intel Core i5 5200u processor with 8 GB of ram and Firefox is using the integrated Intel Graphics 5500 with the lastest driver from Intel (20.19.15.5058).

Correction : The Intel Graphics 5500 drivers used are probably from Lenovo because it's a laptop. It's not exactly the same as the latest for this GPU provided by the Intel website : (15.40.42.5063). Still, this GPU doesn't get the latest feature drivers support from Intel since it's too old.

Summary: Stutters when going fullscreen watching videos on Twitch.tv → Videos stutter when going fullscreen on Twitch.tv
Summary: Videos stutter when going fullscreen on Twitch.tv → Twitch.tv videos stutter when going fullscreen

Hi Link, thanks for reporting, and thanks for determining that this is a regression!

Would you be willing to install and run the MozRegression tool to narrow down a regression range between 70 and 71? This would help prioritize this and find a solution quickly.

Has Regression Range: --- → no
Flags: needinfo?(alwayschangingparadigm)
Keywords: regression

Hi. I tried the MozRegression tool, but I haven't been able to tell a specific build that causes the problem. Maybe all Beta versions of the 71 Beta branch has the issue. The 72 Nightly branch doesn't have the issue, but WebRender is enabled. If I set the gfx.webrender.all setting at "true" in the 71 Beta branch, it seems to fix the issue, but I'm not sure that's the real cause of the problem in the beta versions of 71 since WebRender was always disabled in stable 70 or older stable builds. If I search for mozilla-central builds of 71 branch, the issue doesn't come through. I use the stable version 70 and it doesn't have the issue even if WebRender seems disabled. Maybe something about the difference of experimental features in Nightly and those disabled in the Beta/Stable versions. I may try again to find a specific build, but for now the only window of time is when the Nightly 71 branch transitioned to the Beta 71 branch.

Firefox 70.0.1 (No problem)
Features
Compositing Direct3D 11 (Advanced Layers)

Decision Log
WEBRENDER opt-in by default: WebRender is an opt-in feature
WEBRENDER_QUALIFIED blacklisted by env: No qualified hardware

Firefox 71 Beta 12 (Videos on Twitch stutter)
Features
Compositing Direct3D 11 (Advanced Layers)

Decision Log
WEBRENDER opt-in by default: WebRender is an opt-in feature
WEBRENDER_QUALIFIED blacklisted by env: No qualified hardware

Latest Firefox Nightly 72 (No problem)
Features
Compositing WebRender

Decision Log
WEBRENDER opt-in by default: WebRender is an opt-in feature
available by user: Qualified enabled by pref
WEBGPU disabled by default: Disabled by default

Flags: needinfo?(alwayschangingparadigm)

Link, for clarity, did mozregression attempt to download moz-central builds and when you tried them it was inconclusive? Or did it only try the major release versions (70, 71, 72)?

Flags: needinfo?(alwayschangingparadigm)

Yesterday, I did try with the major versions and the mozilla-central builds.

Flags: needinfo?(alwayschangingparadigm)

I just retried the test with Beta versions builds and it openned Nightly 71 autoland builds too, but the issue isn't present. For sure, the issue isn't present in the Firefox 70 Beta 15 (Build date : 2019-10-14 15:35:01.148000), but the problem exists with FIrefox 71 Beta 1 (Build date : 2019-10-14 19:27:00.709000). I might try again with the central builds, but I'm not sure about this since I don't know everything about the building process for Firefox.

Everytime I test Nightly builds of branch 71, Graphics compositing is set to : WebRender, but when I test the Beta builds of branch 71, Graphics compositing is set to : Direct3D 11 (Advanced Layers). I know that forcing it in the beta version of 71 (with the about:config setting : gfx.webrender.all) removes the issue at the surface at least. So maybe the issue is kind of masked behind enabling WebRender compositing. I'm not sure how to disable it in the Nightly build since gfx.webrender.all is at false even in the Nightly, so that may not be the right setting.

If this is affected by webrender it sounds like a compositing issue. Moving to graphics.

Component: Audio/Video: Playback → Graphics

Update on the issue : I just tested the new Firefox 71.0 official stable release and I'm not able to reproduce the issue anymore. So it went from 71 Beta 12 with the issue to 71 Release (stable) with no issue anymore. At least, for now 720p60 or 1080p60 videos on Twitch doesn't produce any glitch or stutter like it did with the beta versions of branch 71.

But... the issue is still present with the new Firefox 72 Beta 1.

Firefox 72 in Nightly didn't have the issue and Firefox 73 in Nightly doesn't have it, but WebRender is used as compositing. With Firefox 72 in Beta, it still uses Direct3D 11 (Advanced Layers) and the issue occurs again. I'm not sure if it will ever affect people in the stable release since the issue isn't present with Firefox 71 stable release, but it does affect the beta branch.

Also. The Firefox 71.0 release doesn't use WebRender as compositing either, well, I'm not 100%, but it doesn't say so in the "Troubleshooting information" tab, and there is no issue.

The priority flag is not set for this bug.
:jbonisteel, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(jbonisteel)

Link, just so I am clear - you don't see the issue in Firefox 72 and Nightly (73) and those are both using WebRender for compositing?
Is there any version of FF where you still see the issue? If so, can you check what it is using for compositing in about:support?

Flags: needinfo?(jbonisteel) → needinfo?(alwayschangingparadigm)
Blocks: wr-72
Priority: -- → P3

Marking under wr-72 for now until I am clear on the above

No longer blocks: wr-72

(In reply to Jessie [:jbonisteel] plz needinfo from comment #16)

Link, just so I am clear - you don't see the issue in Firefox 72 and Nightly (73) and those are both using WebRender for compositing?
Is there any version of FF where you still see the issue? If so, can you check what it is using for compositing in about:support?

Sorry for not responding. If I talk for today 2020-01-20 :

Firefox 72.0.2 on the release branch doesn't have the issue and the Compositing under Graphics in the "about:support" page is set to "Direct3D 11 (Advanced Layers) by default".

Firefox 74.0a1 (Nightly) doesn't have the issue. The Compositing under Graphics is set to "WebRender" by default.

Firefox 73.0 Beta 7 (Build id : 20200118195856) still has the issue. The compositing under Graphics in the "about:support" page is set to "Direct3D 11 (Advanced Layers) by default". If I set, in about:config, the setting "gfx.webrender.all" to true, the issue doesn't exist anymore.

The issue arise when watching videos on Twitch.tv in 720p60 or 1080p60 when going in fullscreen. I think pausing the video and click play again fixes the issue even in fullscreen, but clicking on the timeline while playing a video might still cause some stutter or going out of fullscreen and returning in fullscreen while the video is playing will almost always make the video have the big stutter again.

Flags: needinfo?(alwayschangingparadigm)

I may have found the build that caused the issue.

I retested mozilla-central builds to find a regression with the preference : "gfx.webrender.force-disabled" set to true.
(I had to disable Webrender to find the real cause of the problem.)
I found a range of builds or the build with a commit that might be the cause of the problem.

This is the last lines of the log from mozregression :

2020-01-22T23:55:05: INFO : Narrowed inbound regression window from [e8aebe48, 49514be0] (3 builds) to [e8aebe48, e8d2d9af] (2 builds) (~1 steps left)
2020-01-22T23:55:05: DEBUG : Starting merge handling...
2020-01-22T23:55:05: DEBUG : Using url: https://hg.mozilla.org/integration/mozilla-inbound/json-pushes?changeset=e8d2d9aff5026ef1f1777b781b47fdcbdb9d8f20&full=1
2020-01-22T23:55:06: DEBUG : Found commit message:
Bug 1547775: Enable double buffering on D3D11 compositors. r=mstange

Differential Revision: https://phabricator.services.mozilla.com/D29243

2020-01-22T23:55:06: DEBUG : Did not find a branch, checking all integration branches
2020-01-22T23:55:06: INFO : The bisection is done.
2020-01-22T23:55:06: INFO : Stopped

The last Nightly builds that don't seem to have the issue is "2019-04-29" Nightly 68.a1 and the last one : "f3c2a720" dated "2019-04-30 05:32:41.007000"

I also retested the mozilla-beta builds in mozregression to find a regression earlier.

Firefox 70 Beta 15 build : "8b71f61d" from date "2019-10-14 15:35:01.148000" don't have the issue. I also know that Firefox 69 Betas didn't have the issue.

Firefox 71 Beta 1 build : "c8196873" from date "2019-10-14 19:27:00.709000" does make the Twitch 720p60/1080p60 videos to stutter when going in fullscreen.

Status: UNCONFIRMED → NEW
Has Regression Range: no → yes
Depends on: 1610912, 1608579
Ever confirmed: true
Regressed by: 1547775

For Firefox 73.0 Beta 8, I can confirm that in about:config, the preference : "gfx.direct3d11.use-double-buffering" is set at "true" by default and it has the issue and if I change it to false, there's no stutter on twitch.tv. (On Windows 10 64 bit 1909 with Intel Core i5 5200u using Intel HD Graphics 5500 (GT2) and 20.19.15.5058 driver)

Does this still reproduce? It looks like the regression bug was disabled.

Flags: needinfo?(alwayschangingparadigm)
Flags: needinfo?(alwayschangingparadigm)
Severity: normal → S3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.