Open Bug 1789996 Opened 2 years ago Updated 1 year ago

Choppy scrolling on Telegram in Firefox Android

Categories

(Core :: Graphics: WebRender, defect)

All
Android
defect

Tracking

()

Tracking Status
firefox105 --- ?
firefox106 --- ?
firefox107 --- affected

People

(Reporter: gsvelto, Assigned: jnicol)

References

(Blocks 1 open bug, )

Details

I've noticed that trying to scroll this page on my phone results in very choppy scrolling, see my screen capture.

This is on a Fairphone 3 running Android 11 and the latest version of nightly. FYI I've tried the page in Chrome too and scrolling isn't smooth either, but not nearly as choppy as in Firefox.

Can you please record a performance profile? Here are instructions for recording a profile on Android:

https://profiler.firefox.com/docs/#/./guide-remote-profiling

Flags: needinfo?(gsvelto)

I grabbed a profile with the default nightly settings: https://share.firefox.dev/3rzQ8QN

Let me know if more info is needed, I can adjust the settings and re-profile it.

Flags: needinfo?(gsvelto)

Thanks! Looks like WebRender is spending lots of time upload textures in the GPU process, so I'll send this bug to the WebRender component.

Has scrolling in Telegram always been choppy in Firefox or do you think this is a recent regression (when you filed this bug last month)?

Component: General → Graphics: WebRender
Product: GeckoView → Core
Summary: Choppy scrolling on Telegram → Choppy scrolling on Telegram in Firefox Android

(In reply to Chris Peterson [:cpeterson] from comment #3)

Has scrolling in Telegram always been choppy in Firefox or do you think this is a recent regression (when you filed this bug last month)?

I don't know because it's the first time I opened one such page in Firefox for Android.

The severity field is not set for this bug.
:gw, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(gwatson)
Flags: needinfo?(gwatson) → needinfo?(jnicol)

The profile on my high end phone looks similar, though slightly less bad. The GPU is swamped, and the CPU spends all its time waiting for it in places like glFlush, glBindFramebuffer, etc.

The main problem is that picture caching doesn't work at all on this page - the entire screen has to be re-rendered every single frame. Fixing that should be our first step, then we can see how bad it remains afterwards.

Picture caching is equally as broken on desktop, though it's not as noticeable because my GPU isn't as underpowered.

Assignee: nobody → jnicol
Severity: -- → S3
Flags: needinfo?(jnicol)

Had another look at this. We cannot picture cache optimally on this page because of the backdrop-filter. Additionally the fixed position background image is actually a canvas which they appear to be re-rendering constantly even when nothing is changing. And due to the backdrop filter we have to put that on the same picture cache slice as the scrollable content and the fixed position header and footer bars. It's a complete mess and unfortunately I don't think there's much we can do.

Duplicate of this bug: 1811592
Duplicate of this bug: 1837486

Hello! For the best testing, you can probably use this channel https://web.telegram.org/a/#-1605861310 Issue with WebRender is really close to resource load or updating.

You need to log in before you can comment on or make changes to this bug.