Scrolling on apple.com is much less smooth on fenix than in chrome with backdrop-filter
Categories
(Core :: Graphics: WebRender, defect)
Tracking
()
Performance Impact | none |
Tracking | Status | |
---|---|---|
firefox-esr78 | --- | unaffected |
firefox-esr91 | --- | unaffected |
firefox92 | --- | unaffected |
firefox93 | --- | unaffected |
firefox94 | --- | disabled |
People
(Reporter: mcomella, Unassigned)
References
(Blocks 1 open bug, Regression)
Details
(Keywords: regression)
Here's a video: https://drive.google.com/file/d/1MTnT0YuDbGZrQ0riAKHIoSnmyZPwk7DX/view?usp=sharing
edit: I waited a longer delay after clearing data to ensure the WebRender shaders were compiled: https://drive.google.com/file/d/11VPnxrNYjmOYIWZIb8En7LSOQby7mJMf/view?usp=sharing It's slightly better but still not great compared to Chrome.
It's from a Moto G5. The video is pretty representative of what it looks like on device. Chrome is smooth (though drops an occasional frame) and it's really slow on fenix.
This is 2021-09-27 Nightly.
Reporter | ||
Updated•3 years ago
|
Comment 1•3 years ago
|
||
Guessing it's a gfx perf problem.
Reporter | ||
Comment 2•3 years ago
|
||
Here's a profile: https://share.firefox.dev/3AMCGw1
There are long composite times so I'm going to guess graphics too.
Updated•3 years ago
|
Comment 3•3 years ago
|
||
Can you please retake the profile using the "Firefox Graphics" preset? The screenshots in the default settings take a significant amount of time.
Reporter | ||
Comment 4•3 years ago
|
||
Here's the profile: https://share.firefox.dev/3zQvmxV
Comment 5•3 years ago
|
||
Thanks!
Since bug 1729894 landed (enabling backdrop filter), picture caching doesn't work very well on this page due to the presence of a backdrop filter. This means the entire page is rendered for every scroll, which is slow.
Michael, could you please see if setting layout.css.backdrop-filter.enabled
to false helps things? I think it should, though there may still be work to do after that.
My understanding of backdrop-filter is basically non-existent, both in terms of the spec and webrender's implementation. But I guess if the background is fixed and the element is scrolling then there's not much we can do to avoid invalidating everything on scroll. Perhaps we could still place the scrolling elements in a different picture cache slice than the background, and then only the tiles of the background that intersect with the filtered element would be invalidated. Does that sound like it would be possible, Glenn?
I cannot actually see where the filter is on this page, however, so I'll dig a bit more in to that.
Updated•3 years ago
|
Comment 6•3 years ago
|
||
Possibly can dup this as bug 1628046
Updated•3 years ago
|
Comment 7•3 years ago
|
||
Set release status flags based on info from the regressing bug 1729894
Updated•3 years ago
|
Comment 8•3 years ago
|
||
Yea, I've come to understand that there are some significant issues with the current backdrop-filter impl, especially those picture cache interactions.
I have a rough plan in my head of how we could refactor / re-implement this feature to fix these, but I'm yet to write them down.
It's unlikely I'll have time in the near future to work on this, however it could be an interesting / fun project for someone else to work on. I'll check around the gfx team and see if we can find someone with cycles to do this work.
Comment 9•3 years ago
|
||
Hey Glenn and Jamie, I’m an engineering manager at Webflow and have been following the Firefox landing of backdrop-filter support so we can release support for designing with this feature.
Would there be interest in prioritizing this through sponsorship if I can allocate funds or through having a Webflow engineer support this work?
Reporter | ||
Comment 10•3 years ago
|
||
(In reply to Jamie Nicol [:jnicol] from comment #5)
Michael, could you please see if setting
layout.css.backdrop-filter.enabled
to false helps things? I think it should, though there may still be work to do after that.
Using the 9/29 nightly, I cannot reproduce with it set to false.
It looks like the regressing feature was temporarily disabled in bug 1733340 and, as expected, I cannot reproduce in more recent nightlies (e.g. 10/7).
Updated•3 years ago
|
Comment 11•3 years ago
|
||
The severity field is not set for this bug.
:jimm, could you have a look please?
For more information, please visit auto_nag documentation.
Reporter | ||
Updated•3 years ago
|
Updated•3 years ago
|
Comment 12•3 years ago
|
||
(In reply to dustan.kasten from comment #9)
Hey Glenn and Jamie, I’m an engineering manager at Webflow and have been following the Firefox landing of backdrop-filter support so we can release support for designing with this feature.
Would there be interest in prioritizing this through sponsorship if I can allocate funds or through having a Webflow engineer support this work?
Thanks for reaching out! I've followed up by email.
Updated•3 years ago
|
Comment 13•3 years ago
|
||
The severity field is not set for this bug.
:jimm, could you have a look please?
For more information, please visit auto_nag documentation.
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Comment 14•3 years ago
|
||
Michael, lots of new work on backdrop-filter
has landed in Nightly. Are you still able to reproduce this bug in Fenix with layout.css.backdrop-filter.enabled
set to true
?
Comment 15•3 years ago
|
||
(In reply to G from comment #14)
Michael, lots of new work on
backdrop-filter
has landed in Nightly. Are you still able to reproduce this bug in Fenix withlayout.css.backdrop-filter.enabled
set totrue
?
Nevermind and sorry for bugspam, backdrop-filter was disabled again in bug 1766710 so the above comment is irrelevant (for now).
Comment 16•2 years ago
|
||
It got re-enabled in bug 1749625. Michael, would you mind testing this again?
Sebastian
Reporter | ||
Comment 17•2 years ago
|
||
Scrolling on apple.com on my Moto G5 in:
- Chrome is reasonably smooth
- the latest Firefox Nightly (2022-06-23) is janky but slightly less janky than my original video. Here's a new video: https://drive.google.com/file/d/1xdIEqS-9cL7W7JpUs_ZEPHS-Ng3wt0zL/view?usp=sharing and a new profile: https://share.firefox.dev/3yfLdZy
- the latest Firefox Nightly with backdrop-filter disabled less janky than with it enabled but still more janky than Chrome
They added a carousel to the bottom of the page that automatically switches between images. Some of the jank seems to be associated with that animation. Chrome handles it better than Firefox. Sorry for the delay!
Comment 18•2 years ago
|
||
FWIW, this sluggish scrolling and performance overall also happens in Twitter with Fenix, both in latest Stable and Nightly. I thought it may be due to the fact that I'm using Android 5.1.1 that it's slow, but apparently it's due to backdrop-filter
.
Description
•