[Webkit-unassigned] [Bug 274372] New: Permission API for 120Hz Support instead of manual setting "Prefer Page Rendering Updates Near 60fps"
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Sun May 19 17:28:51 PDT 2024
https://bugs.webkit.org/show_bug.cgi?id=274372
Bug ID: 274372
Summary: Permission API for 120Hz Support instead of manual
setting "Prefer Page Rendering Updates Near 60fps"
Product: WebKit
Version: WebKit Nightly Build
Hardware: All
OS: All
Status: NEW
Severity: Enhancement
Priority: P2
Component: Compositing
Assignee: webkit-unassigned at lists.webkit.org
Reporter: mark at blurbusters.com
CC: simon.fraser at apple.com
NOTE: I only have experience with W3C, and not WHATWG, so can somebody contact me at mark [at] blurbusters.com to create a WHATWG proposal for High Frame Rate (HFR) Permission. I am willing to help team-up with a WHATWG member to submit a solution for this new UX problem created by Apple as they currently solve https://bugs.webkit.org/show_bug.cgi?id=173434 "
WHO USES 120FPS HFR
HFR affects everything that wants to run at above 60fps:
- Video
- WebGL
- CANVAS
- Animation Timing
- Smooth pan/scroll (manual and javascript-automatic)
PROBLEM
Certain devices such as Apple Devices requires users to manually go to an obscure screen to change a setting to render at above 60 frames per second.
This is very user unfriendly, and interferes with marketing 120Hz. This also hurts Apple's sales of 120Hz, if I cannot show benefits of 120Hz on the go as easily on a friend's iPhone Pro or iPad Pro, and they don't want me to fiddle with their settings. Apple loses sales because of this. Users lose trust in 120Hz.
This affects gaming websites, motion testing websites, scientific applications, even Apple themselves trying to advertise the benefits of high frame rates to help sell more "Pro" devices".
120fps was less visible on LCD so this a low priority, due to poor performance of LCD. However, with the dramatic visibility increase of 60-vs-120 on OLED displays (even TechSpot discovered 240Hz OLEDs was much better than expected for office productivity). Even 120Hz-vs-480Hz on OLED was recently scientifically discovered to be more human-visible than 60-vs-120 on LCD, due to a geometrics-style effect (4x vs 2x) during fast motion.
But a major problem is battery powered devices eat more power at 120fps and beyond.
KNOWN CONCERNS
- Battery consumption problems
- Unconfigurable PWAs ( https://bugs.webkit.org/show_bug.cgi?id=272226 )
- Annoying ad banners running at too high a frame rate
- Privacy concerns about letting websites discover the exact refresh rate of your display (even though APIs already exist to discover resolution, etc).
- Websites instructing users to change a setting (Prefer Page Rendering Near 60fps)
- Friends of Apple fans not allowing them to change settings on their other devices for show-and-tell (more difficult to market benefits of 60-vs-120 by word of mouth)
- Excessive permission requests
SOLUTION: HFR Permission API
HFR = High Frame Rate = Frame rates permitted to match maximum Hz
A proposal to use the Permission API to ask for permission to use HFR animations. When a website asks for HFR permission, the browser will popup a message asking the user for permission to use a higher frame rate (matching maximum refresh rate). The HFR permission popup will only work if it's a same-origin or permitted-origin (so ad banners can never request it).
SOLUTION SEQUENCE
1. Webpage must ask for permission. "Webpage requests High Frame Rate / High Refresh Rate? Allow/Deny?" or similar.
2. If already running at HFR, then permission is automatically granted without popup (e.g. like fullscreen API request while already running fullscreen)
3. If user denies, no change to frame rate cap (60fps) occurs.
4. If user accepts, a callback event is called (TBD) to inform framerate cap is removed.
Note: By default, webpage MAY NOT discover max Hz if the page is currently capped (e.g. Limit to 60fps), this may resolve privacy concerns if Apple is concerned about webpages discovering refresh rates of visitors. However, implementors MAY provide a separate discovery mechanism for refresh rate, much like existing discovery mechanisms for screen resolutions.
POSSIBLE PIGGYBACK?
In theory, this could be part of the existing "Windows Management API" permission request, to discover the refresh rates of all screens and/or to unlock frame rate caps. However, thought is needed for single-screen mobile devices. However, "Window Management API" could still be the mechanism to discover the refresh rates of all individual screens (otherwise, advance refresh rate discovery is not permitted otherwise)
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20240520/4b7565d3/attachment.htm>
More information about the webkit-unassigned
mailing list