Closed
Bug 945789
Opened 11 years ago
Closed 11 years ago
Improve APZC physics for B2G
Categories
(Core :: Panning and Zooming, defect)
Core
Panning and Zooming
Tracking
()
RESOLVED
FIXED
mozilla32
People
(Reporter: BenWa, Assigned: kats)
References
Details
Attachments
(1 file, 1 obsolete file)
1.19 KB,
patch
|
kats
:
review+
|
Details | Diff | Splinter Review |
Currently the APZC physics for B2G are off on the nexus 7. The deceleration on a fling is very sudden and a large change from pre APZC.
This bug should be a good chance to merge some of the APZC values between fennec, b2g pre APZC, b2g with APZC and metro. It's ok for platforms to differ if they require it but right now some differences are simply unintentional. We have values in preference but b2g and metro seem to use difference preferences so merging that would be good. Also some of the gesture detecting value use different threshold.
Depends on: 946955
Updated•11 years ago
|
Blocks: gaia-apzc-2
Updated•11 years ago
|
No longer blocks: gaia-apzc-2
Comment 1•11 years ago
|
||
Is this still an issue? I believe it may have at least been partially mitigated by the fixes in bug 962278.
Assignee | ||
Comment 2•11 years ago
|
||
We discussed the APZC physics with Gordon from Gaia UX at the gfx work week. Here are some bits of Gordon's summary. Bug 907123 is the "flywheel scrolling" thing so I'm adding that as a dependency here as it is part of the overall physics model. We should break the overscroll stuff out into a separate bug too but that can wait until we have a better idea of what we will use as the basic force model.
Scroll physics:
* Currently uses linear damping with speed caps at low and high ends
* Issue: Too fast for slow / too slow for fast
* Will need some kind of force model in platform
* Discussed force models: spring, dampened spring, magnet, Verlet
integration, etc.
* Fix your timestep
* Use step debounce function to tune for different devices rather than
having per-device exceptions in the force model.
* We will need to tune the physics for best feel. Find the right
physical analogy. Milan suggests working closely with platform and
perhaps prototyping force model with JavaScript, Flash or some other
low-cost tool.
Flywheel scrolling:
* Feasible
* Moving great distances will cause checkerboarding
* Could mitigate using a low-res "motion blur" effect by stretching
low-res tiles until we can render content. Fx Android had this at one
point.
* Force model: reduce damping vs increase speed?
Overscroll:
* Distinction between effect vs physics vs integration. Can work on
these independently.
* Must be integrated with APZC physics
Depends on: 907123
Assignee | ||
Updated•11 years ago
|
OS: Mac OS X → All
Hardware: x86 → All
Comment 3•11 years ago
|
||
Here are my thoughts after fiddling with available apz scrolling prefs:
* pref("apz.max_velocity_pixels_per_ms", 0.07) helps dispel feeling that your speed is being capped, but this may not be a problem once we have flywheel scrolling.
* pref("apz.fling_friction", 0.003); gives you a more comfortable scroll when fine-tune scrolling, but aggressive flicks feel like they should be faster.
* The phantom jog bug 949859 seems unaffected by these settings. It also throws the feel of fine-tune scrolling way off.
* Flywheel scrolling will likely change the feeling of scrolling significantly, so tuning this should happen in conjunction with tuning flywheel scrolling (bug 907123).
I have a hunch that applying a shallow curve function to the fling velocity may feel better than 1:1 extrapolation; or maybe a simple physics integrator is the answer. However, in conjunction with Flywheel scrolling I think we may be able to arrive at some combo of "good enough" tunings w/ current physics model for the 2.0 timeline.
Assignee | ||
Comment 4•11 years ago
|
||
Might as well change these now. We can always change them again later if necessary.
Assignee: nobody → bugmail.mozilla
Attachment #8413973 -
Flags: review?(botond)
Comment 5•11 years ago
|
||
Comment on attachment 8413973 [details] [diff] [review]
Update pref values
Review of attachment 8413973 [details] [diff] [review]:
-----------------------------------------------------------------
::: b2g/app/b2g.js
@@ +898,5 @@
> // more often than the default value (100).
> pref("apz.asyncscroll.throttle", 40);
> pref("apz.pan_repaint_interval", 16);
>
> +// APZ physics settings, tuned by UX people
s/people/designers? =p
Attachment #8413973 -
Flags: review?(botond) → review+
Assignee | ||
Comment 6•11 years ago
|
||
:) Updated, carrying r+. Will flag checkin-needed since m-i is closed.
Attachment #8413973 -
Attachment is obsolete: true
Attachment #8413983 -
Flags: review+
Assignee | ||
Updated•11 years ago
|
Keywords: checkin-needed
Comment 7•11 years ago
|
||
Keywords: checkin-needed
Comment 8•11 years ago
|
||
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla32
You need to log in
before you can comment on or make changes to this bug.
Description
•