Closed Bug 1742043 Opened 3 years ago Closed 6 months ago

Poor scrolling performance on top10.netflix.com

Categories

(Core :: Graphics: WebRender, defect)

Firefox 95
defect

Tracking

()

RESOLVED WORKSFORME
Performance Impact medium

People

(Reporter: ali.nz2005, Unassigned)

References

(Blocks 1 open bug, )

Details

(Keywords: perf:animation)

Attachments

(1 file)

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

Steps to reproduce:

Visited this page, clicked middle mouse button and moved the mouse up and down in the middle of the page.
https://top10.netflix.com

System specs:
i5 2400
8gb
GTX 970 - 496.13
Win 10 x64

Actual results:

FPS dips down to 20, average GPU usage sits at 50%, can hear coil whine from my GPU.

Expected results:

60 FPS, normal GPU usage, no coil whine.

Component: Untriaged → Performance
Product: Firefox → Core

This page seems to use backdrop-filter...a lot. If I add * { backdrop-filter: none !important; } with the style editor, all jank seems to instantly go away.

Hi Ali,

If you are still experiencing this problem, could you please help collect a performance profile to help us investigate further? The instructions on how to collect one are here https://firefox-source-docs.mozilla.org/performance/reporting_a_performance_problem.html

Thank you!

Flags: needinfo?(ali.nz2005)

Hi Denis, thanks for the reply. The bug appears to have been resolved with a later version.
I'm no longer experiencing any problems with the page.

Flags: needinfo?(ali.nz2005)

Great, thanks!

Status: UNCONFIRMED → RESOLVED
Closed: 3 years ago
Resolution: --- → WORKSFORME

Hi Denis, please reopen this bug. It is once again reproducible because backdrop-filter support was added in the latest Nightly build. Scrolling this page with layout.css.backdrop-filter.enabled to true in a recent Nightly build results in very poor performance.

Flags: needinfo?(dpalmeiro)

Thanks for the info. Could you please help capture a performance profile? It would help us diagnose the problem.
The instructions on how to do this are here: https://firefox-source-docs.mozilla.org/performance/reporting_a_performance_problem.html

Status: RESOLVED → REOPENED
Performance Impact: --- → ?
Component: Performance → Layout
Ever confirmed: true
Flags: needinfo?(dpalmeiro) → needinfo?(gp3033)
Resolution: WORKSFORME → ---

(In reply to Denis Palmeiro [:denispal] from comment #6)

Thanks for the info. Could you please help capture a performance profile? It would help us diagnose the problem.
The instructions on how to do this are here: https://firefox-source-docs.mozilla.org/performance/reporting_a_performance_problem.html

https://share.firefox.dev/3K0VX0k

Flags: needinfo?(gp3033) → needinfo?(gwatson)
Assignee: nobody → gwatson
Flags: needinfo?(gwatson)

Looking at the profile, the vast majority of the time is spent in assign_render_pass and assign_free_pass so it's very likely this will be fixed by the patch in https://bugzilla.mozilla.org/show_bug.cgi?id=1765520, which I will push to land shortly.

Component: Layout → Graphics: WebRender

The patch in bug 1765520 did not really fix this. I am still seeing a lot of stuttering when scrolling past areas with heavy use of backdrop-filter.
https://share.firefox.dev/3k8Zq2k
https://share.firefox.dev/3OC0ABM (different profiler settings)

The profiles look like they no longer suffer from the slowness in assign_render_pass, but might be GPU-limited now, or something like that. I'll do some profiling of this page locally this week.

Severity: -- → S3
Performance Impact: ? → P2
Keywords: perf:animation

Still seeing jank in latest Nightly when scrolling past "Titles in the Global Top 10"
https://share.firefox.dev/3FUv0Lu

Are you still using the old NVIDIA driver (496.13)? Current for your specs is 512.77. Any chance you could update and see how that impacts the behavior?

I checked this on a few local machines and the performance seems good for me with current nightly. Could you try enable gfx.webrender.debug.profiler and gfx.webrender.debug.gpu-time-queries on your machine, and attach a screenshot of the profiler overlay where it is slow on your machine?

Assignee: gwatson → nobody
Attached image profiler.png

(In reply to Glenn Watson [:gw] from comment #13)

I checked this on a few local machines and the performance seems good for me with current nightly. Could you try enable gfx.webrender.debug.profiler and gfx.webrender.debug.gpu-time-queries on your machine, and attach a screenshot of the profiler overlay where it is slow on your machine?

Thanks. This profile shows a similar result to a couple of other bugs where you've reported bad performance that I was unable to reproduce it. It's very strange.

So what we can see is that the GPU time itself is quite reasonable (certainly under 16ms or better than 60 fps, on almost all frames).

However, we spend a huge amount of CPU time in the renderer thread, which means time spent inside the GPU driver code. If it was blocking in the driver because the GPU couldn't keep up, that would explain it, but that doesn't appear to be the case here. Instead, it looks like we're hitting some other kind of stall or slowness inside the GPU driver, that I have been unable to reproduce so far.

I can no longer repoduce this bug. Performance is now normal with low GPU usage.

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

Attachment

General

Created:
Updated:
Size: