Bug 261961

Summary: allow for configurable event emission rates for high refresh rate displays
Product: WebKit Reporter: Liam DeBeasi <ldebeasi>
Component: UI EventsAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: graouts, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari 17   
Hardware: Unspecified   
OS: Unspecified   

Description Liam DeBeasi 2023-09-22 11:22:00 PDT
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.
Comment 1 Radar WebKit Bug Importer 2023-09-29 11:22:31 PDT
<rdar://problem/116246899>