Bug 261961
| Summary: | allow for configurable event emission rates for high refresh rate displays | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Liam DeBeasi <ldebeasi> |
| Component: | UI Events | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | luke.ryan.beach, simon.fraser, webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | Safari 17 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Liam DeBeasi
Currently, event emissions such as "pointermove" are capped at firing up to 60 times per second. This results in gesture-driven animations (such as a swipe animation) being capped at 60fps even if the animation is capable of running at up to 120fps on Pro Motion iPhones.
It would be useful to have a way of opting in to higher event emission rates to enable 120fps gesture-driven animations. While the gesture-driven animations currently work, they appear sluggish on high refresh rate displays because they are capped at 60fps.
Example:
1. Open https://docs-demo.ionic.io/component/modal on an iPhone with a Pro Motion display.
2. Tap "Open Sheet Modal".
3. Drag the sheet modal up and down. Observe that, while the animation does play at 60fps, it seems sluggish since the device is capable of rendering at a much higher refresh rate.
There is ongoing discussion to control animation frame rate here: https://github.com/w3c/csswg-drafts/issues/7196 However, this does not account for gesture-driven animations.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/116246899>
luke.ryan.beach
Bump. Please look into this because it's the last thing that would make hybrid web apps like those made with Ionic feel like native ones in terms of fluidity. Being able to swipe to go back as such a staple of modern app navigation so it is very jarring when that specific action is capped to 60fps