Closed Bug 2019515 Opened 12 days ago Closed 6 days ago

Video Quality regression when using Nvidia VSR compared to 147

Categories

(Core :: Graphics, defect)

Firefox 148
x86_64
Windows
defect

Tracking

()

RESOLVED FIXED
150 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox-esr140 --- unaffected
firefox148 + fixed
firefox149 + fixed
firefox150 + fixed

People

(Reporter: theryuu, Assigned: sotaro)

References

(Regression)

Details

(Keywords: regression)

Attachments

(7 files)

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

Steps to reproduce:

Enable Nvidia VSR set to manual at the highest quality.
It's a little hard to notice but if you switch back and fourth from Firefox 148 to 147 (or Edge/Chrome) it should be pretty obvious, most noticeable when videos have text in them.

Another thing I noticed was for example on twitch when the information overlay is on the video when you move the mouse something about the video quality changes slightly and then when it goes away after a few seconds it changes back (most noticeable on text), it's kind of subtle. In both cases the video quality is reduced compared to 147 or Edge.

I was able to bisect it to what I think is the offending commit:
https://phabricator.services.mozilla.com/D277415

Actual results:

VSR is active but the quality is less than ideal. Prior to 148 being released the quality was (as you would expect) identical to Edge/Chrome. So this is a regression compared to 147.

Expected results:

Quality should be the same.

I will try and provide some screenshots when I find a good video that shows it.

Apologies, I seem to have gotten to bisect incorrect.
I ran it again to be sure and got this commit:
https://phabricator.services.mozilla.com/D277398

Which I think makes more sense because it looks like it touches code that uses gfx_webrender_dcomp_video_vp_scaling.

OS: Unspecified → Windows 11
Hardware: Unspecified → x86_64
OS: Windows 11 → Windows

Also for reference this was on a 1080p 60fps video on a twitch livestream displayed on a 1440p monitor at fullscreen with Nvidia VSR at the highest level although it appears to affect any video, youtube is also affected and it gets pretty easy to spot once you know what to look for (text specifically becomes less sharp on affected versions).

The Bugbug bot thinks this bug should belong to the 'Core::Graphics' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Graphics
Product: Firefox → Core
Keywords: regression
Regressed by: 2007464

:sotaro, since you are the author of the regressor, bug 2007464, could you take a look? Also, could you set the severity field?

For more information, please visit BugBot documentation.

Flags: needinfo?(sotaro.ikeda.g)

I take this bug.

Assignee: nobody → sotaro.ikeda.g
Flags: needinfo?(sotaro.ikeda.g)

The bug has a release status flag that shows some version of Firefox is affected, thus it will be considered confirmed.

Status: UNCONFIRMED → NEW
Ever confirmed: true

Thanks for picking this up so quickly. Let me know if you need anything else from me or need me to test anything.

Hi theryuu, can you attach about:support to this bug?

Flags: needinfo?(theryuu)
Attachment #9548952 - Attachment description: Bug 2019515 - Relax the cases that do video scaling at VideoProcessor in DCSurfaceVideo::CalculateSwapChainSize() → Bug 2019515 - Relax the case that do video scaling at VideoProcessor in DCSurfaceVideo::CalculateSwapChainSize()
Duplicate of this bug: 2020128

I've attached about:support.

If you can get your patch pulled so it's included in the nightly builds I can test it. Provided I can confirm it's fixed can we get this uplifted to the next dot release (148.0.1)?

Flags: needinfo?(theryuu)

I am going to request to uplift if D285450 addresses the problem in nightly.

I'm unfamiliar with how Firefox handles these commits but if I understand it right since it's in autoland now we just wait for it to get merged to main then it'll get included in the latest nightlies?

(In reply to theryuu from comment #15)

I'm unfamiliar with how Firefox handles these commits but if I understand it right since it's in autoland now we just wait for it to get merged to main then it'll get included in the latest nightlies?

Correct, autoland merges to main a couple of times daily, and nightly builds twice daily.
It should make the next merge and build. Though if it doesn't, then it will definitely make the one after.

This might belong in a separate bug but since this was able to ride the nightly all the way to release, is there any way to have had automated testing catch this? Or would it simply not be possible to catch something that breaks Nvidia VSR like this in an automated way?

I guess it also probably speaks for how few people on Nightly use or test with VSR.

I'll make an effort to check nightly every so often. Or feel free to tag me in any bug that you think needs a check.

(In reply to theryuu from comment #17)

This might belong in a separate bug but since this was able to ride the nightly all the way to release, is there any way to have had automated testing catch this? Or would it simply not be possible to catch something that breaks Nvidia VSR like this in an automated way?

Hmm, it seems not simple to catch this bug in automated test.

The patch is not yet merged to m-c. CI seemed to have a lot of macOS tasks. And it seemed to delay the merge.

Status: NEW → RESOLVED
Closed: 6 days ago
Resolution: --- → FIXED
Target Milestone: --- → 150 Branch

The patch landed in nightly and beta is affected.
:sotaro, is this bug important enough to require an uplift?

For more information, please visit BugBot documentation.

Flags: needinfo?(sotaro.ikeda.g)

:sotaro, to add to comment 21, please also include a release uplift request for consideration

Attached image 150 nightly.png
Attached image msedge.png
Attached image ff148 release.png

(In reply to Donal Meehan [:dmeehan] from comment #22)

:sotaro, to add to comment 21, please also include a release uplift request for consideration

Confirmed fixed with latest nightly (a509c7b61a71). See attached pictures for example, 150 nightly (good), msedge (good), current 148.0 release (bad).

The change of Bug 2007464 was too strict. This change relax the condition a bit to increase a case that do video scaling at VideoProcessor.

Original Revision: https://phabricator.services.mozilla.com/D285450

Attachment #9550191 - Flags: approval-mozilla-beta?

firefox-beta Uplift Approval Request

  • User impact if declined: Video quality with NVIDIA GPU on Windows could be regressed.
  • Code covered by automated testing: yes
  • Fix verified in Nightly: yes
  • Needs manual QE test: no
  • Steps to reproduce for manual QE testing:
  • Risk associated with taking this patch: low
  • Explanation of risk level: Related code was used before Bug 2007464 fix.
  • String changes made/needed: none
  • Is Android affected?: no

The change of Bug 2007464 was too strict. This change relax the condition a bit to increase a case that do video scaling at VideoProcessor.

Original Revision: https://phabricator.services.mozilla.com/D285450

Attachment #9550192 - Flags: approval-mozilla-release?

firefox-release Uplift Approval Request

  • User impact if declined: Video quality with NVIDIA GPU on Windows could be regressed.
  • Code covered by automated testing: yes
  • Fix verified in Nightly: yes
  • Needs manual QE test: no
  • Steps to reproduce for manual QE testing:
  • Risk associated with taking this patch: low
  • Explanation of risk level: Related code was used before Bug 2007464 fix.
  • String changes made/needed: none
  • Is Android affected?: no
Attachment #9550191 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Attachment #9550192 - Flags: approval-mozilla-release? → approval-mozilla-release+
Flags: needinfo?(sotaro.ikeda.g)
QA Whiteboard: [qa-triage-done-c150/b149]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: