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
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
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 desktop | 151 |
| Origin trial desktop first | 146 |
| Origin trial desktop last | 151 |
| Shipping on Android | 151 |
| Origin trial Android first | 146 |
| Origin trial Android last | 151 |
| Shipping on WebView | 151 |
| Origin trial WebView first | 146 |
| Origin trial WebView last | 151 |
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.comIntent to Experiment:
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/69aaa531.2b0a0220.c2d7.063a.GAE%40google.com