[meta] Scroll physics revisions
Categories
(Core :: Panning and Zooming, task, P3)
Tracking
()
People
(Reporter: botond, Unassigned)
References
(Depends on 2 open bugs)
Details
(Keywords: meta)
Attachments
(1 file)
|
41.36 KB,
image/png
|
Details |
Based on discussions with Markus, we would like to explore the following revisions to Firefox's scroll physics:
- For scrolling animations triggered by user input such as keyboard and mouse wheel scrolls, tweak the constants in the current Bezier physics to make the resulting animation's shape more like the native behaviour in Windows applications (including Edge).
- Chrome has made a similar set of changes described in this design document.
- Note that this would be a change in direction compared to our previous plan to switch to a new Mass-Spring-Damper based physics model (bug 1760372).
- For programmatic scrolling animations, disentangle
scroll-behavior: smoothfrom "scroll snap" (the two currently share an implementation, and use a Mass-Spring-Damper physics model, though a slightly different one than the one we were going to use for keyboard/mousewheel in bug 1760372).- Switch
scroll-behavior: smoothto use the same (tweaked Bezier) physics as keyboard/mousewheel. This would address bug 1916760. - Keep "scroll snap" using the Mass-Spring-Damper model it's using now.
- Switch
(In reply to Botond Ballo [:botond] from comment #0)
Based on discussions with Markus, we would like to explore the following revisions to Firefox's scroll physics:
- For scrolling animations triggered by user input such as keyboard and mouse wheel scrolls, tweak the constants in the current Bezier physics to make the resulting animation's shape more like the native behaviour in Windows applications (including Edge).
- Chrome has made a similar set of changes described in this design document.
- Note that this would be a change in direction compared to our previous plan to switch to a new Mass-Spring-Damper based physics model (bug 1760372).
- For programmatic scrolling animations, disentangle
scroll-behavior: smoothfrom "scroll snap" (the two currently share an implementation, and use a Mass-Spring-Damper physics model, though a slightly different one than the one we were going to use for keyboard/mousewheel in bug 1960372).
- Switch
scroll-behavior: smoothto use the same (tweaked Bezier) physics as keyboard/mousewheel. This would address bug 1916760.- Keep "scroll snap" using the Mass-Spring-Damper model it's using now.
Just came across this and wanted to add: it seems Microsoft has actually scrapped that modified scrolling they had for Edge https://issues.chromium.org/issues/359747082 They're saying they did so because of battery regressions but I suspect it's also because - at least perceptually - mouse wheel scrolling in Edge wasn't as smooth as Chrome (though apparently this varies depending on the mouse the user has and also the "number of lines at a time" setting). Google has been putting a lot of attention into this type of thing lately and it's worth checking out this thread for the short and sweet version https://x.com/GoogleDesign/status/1882156278811709726
| Reporter | ||
Comment 3•4 months ago
|
||
(In reply to Botond Ballo [:botond] from comment #0)
- For scrolling animations triggered by user input such as keyboard and mouse wheel scrolls, tweak the constants in the current Bezier physics to make the resulting animation's shape more like the native behaviour in Windows applications (including Edge).
- Chrome has made a similar set of changes described in this design document.
- Note that this would be a change in direction compared to our previous plan to switch to a new Mass-Spring-Damper based physics model (bug 1760372).
This will be done behind a pref in bug 1999441.
- For programmatic scrolling animations, disentangle
scroll-behavior: smoothfrom "scroll snap" (the two currently share an implementation, and use a Mass-Spring-Damper physics model, though a slightly different one than the one we were going to use for keyboard/mousewheel in bug 1760372).
- Switch
scroll-behavior: smoothto use the same (tweaked Bezier) physics as keyboard/mousewheel. This would address bug 1916760.- Keep "scroll snap" using the Mass-Spring-Damper model it's using now.
This will be done behind a pref in bug 1999440.
The overall desired behaviour here will then be accomplished by the following pref changes:
general.smoothScroll.msdPhysics.enabled--> off- the pref to be added in bug 1999440 --> on
- the pref to be added in bug 1999441 --> on
I think the new mouse wheel animation/physics is an improvement but slightly too fast, it feels too "jerky" and a bit "twitchy" and erratic. Would yous please consider slowing it down slightly? Overall it's clear that it used to be too slow, but maybe yous have slightly over corrected? I'm on Windows 11 and the Windows mouse setting "The following number of lines at a time" is set to 2.
| Reporter | ||
Comment 5•3 months ago
|
||
(In reply to Will from comment #4)
I think the new mouse wheel animation/physics is an improvement but slightly too fast, it feels too "jerky" and a bit "twitchy" and erratic.
We haven't actually made a change to mousewheel physics here yet (that will happen in bug 1999441, initially behind a pref).
If mousewheel animations are feeling different for you recently, I'd suggest filing a new issue and specifying what version (+ modified preferences if any) it feels different in, and compared to what previous version (+ modified preferences if any).
(In reply to Botond Ballo [:botond] from comment #5)
(In reply to Will from comment #4)
I think the new mouse wheel animation/physics is an improvement but slightly too fast, it feels too "jerky" and a bit "twitchy" and erratic.
We haven't actually made a change to mousewheel physics here yet (that will happen in bug 1999441, initially behind a pref).
If mousewheel animations are feeling different for you recently, I'd suggest filing a new issue and specifying what version (+ modified preferences if any) it feels different in, and compared to what previous version (+ modified preferences if any).
oh wow. So before I file the bug, by any chance do you know if anything else landed in 147 beta that might have caused this difference? Because this a "stock" default beta build I've never customized or tinkered with. and nothing else on the laptop updated either, I'm confident something in Firefox changed.
it seems like it was reverted in 147.0b2 (I just updated to that moments ago), which should really narrow it down. Apologies for asking you to look through but I just don't have the expertise to know what might be behind this but it was very noticeable
Description
•