Intent to Ship: CPU Performance API

31 views
Skip to first unread message

Chromestatus

unread,
10:14 AM (3 hours ago) 10:14 AM
to blin...@chromium.org, niko...@chromium.org
Contact emails
niko...@chromium.org

Explainer
https://github.com/WICG/cpu-performance

Specification
https://wicg.github.io/cpu-performance

Summary
Expose some information about how powerful the user device is. This API targets web applications that will use this information to provide an improved user experience, possibly in combination with the Compute Pressure API, which provides information about the user device’s CPU pressure/utilization and allows applications to react to changes in CPU pressure.

Blink component
Blink>PerformanceAPIs

Web Feature ID
Missing feature

Motivation
At present, some video conferencing applications support advanced functionality by relying on internal/private browser extensions or APIs to classify devices into performance categories. Our proposal allows these applications to support existing functionality without depending on such non-standard features. Applications whose functionality depends on client-side hardware detection often resort to running benchmark workloads, to estimate hardware capabilities. Providing a public CPU Performance API would help prevent a needless waste of resources.

Initial public proposal
https://github.com/WICG/proposals/issues/253

TAG review
https://github.com/w3ctag/design-reviews/issues/1198 The specification is ready for review, so the above is not an "early design" review.

TAG review status
Pending

Origin Trial Name
CPU Performance API

Goals for experimentation
This API provides device-specific information about CPU performance while preserving user privacy. We'd like to see if this information is useful in providing the user experience improvement for the kind of applications that this API targets and if its shape matches developer expectations. We will measure API usage metrics and obtain developer feedback to validate our designs.

Chromium Trial Name
CpuPerformance

Origin Trial documentation link
https://github.com/WICG/cpu-performance

WebFeature UseCounter name
kNavigatorCPUPerformance

Risks


Interoperability and Compatibility
None.

Gecko: No signal (https://github.com/mozilla/standards-positions/issues/1364)

WebKit: Oppose (https://github.com/WebKit/standards-positions/issues/622)

Web developers: Positive

Other signals: Adobe: https://github.com/WICG/cpu-performance/issues/6 Figma: https://github.com/WICG/proposals/issues/253#issuecomment-3719833708

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?

None.


Debuggability
Nothing interesting, debuggability review completed.

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
Yes

Is this feature fully tested by web-platform-tests?
Yes
https://wpt.fyi/results/cpu-performance?label=experimental&label=master&aligned

Flag name on about://flags
No information provided

Finch feature name
CpuPerformance

Rollout plan
Will ship enabled for all users

Requires code in //chrome?
True

Tracking bug
https://issues.chromium.org/449760252

Measurement
https://uma.googleplex.com/p/chrome/timeline_v2/?sid=eb11c4b156c799e994576301d01ff0b5

Availability expectation
Feature is available only in Chromium browsers. It is not clear if/when other browsers will follow.

Adoption expectation
Feature is used by specific partner(s) to provide functionality as of the launch in Chrome. At least one major abstraction will replace their use of an existing feature with this feature as of the launch.

Adoption plan
We are already working with specific partner(s) who will benefit from this feature.

Non-OSS dependencies

Does the feature depend on any code or APIs outside the Chromium open source repository and its open-source dependencies to function?

None.

Estimated milestones
Shipping on desktop151
Origin trial desktop first146
Origin trial desktop last151
Shipping on Android151
Origin trial Android first146
Origin trial Android last151
Shipping on WebView151
Origin trial WebView first146
Origin trial WebView last151


Anticipated spec changes

Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way).

No such open issues.

Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5189864286978048?gate=5090091072618496

Links to previous Intent discussions
Intent to Prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAMHN%3DHydj6Q7pz6i_y3j1ON20a270NFGx%2BKD11Q3VdfTXvtCDg%40mail.gmail.com
Intent to Experiment: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/69aaa531.2b0a0220.c2d7.063a.GAE%40google.com


This intent message was generated by Chrome Platform Status.
Reply all
Reply to author
Forward
0 new messages