On Thu, Oct 26, 2023 at 5:21 PM 'François Beaufort' via blink-dev < blink-dev@chromium.org> wrote:
> Contact emails > > fbeauf...@google.com, cwal...@google.com > > Explainer > > https://github.com/gpuweb/gpuweb/issues/614 > > Specification > > https://gpuweb.github.io/gpuweb/#timestamp > > Summary > > WebGPU timestamp queries allow WebGPU applications to measure precisely > (down to the nanosecond) how much time their GPU commands take to execute, > especially at the beginning and end of passes. Timestamp queries are > heavily used to gain insights into the performance and behavior of GPU > workloads. > > While the WebGPU specification makes timestamp queries an optional feature > due to timing attack concerns, we believe that timestamp queries > quantization provides a good middle ground by reducing the precision of > timers. To offer even more advanced protection against timing attacks and > fingerprinting, timestamp queries are also coarsened based on site > isolation status: > > - Isolated contexts: timestamp queries are exposed with a resolution of > 100 microseconds. > > - Non-isolated contexts: timestamp queries are not exposed at all. > By "isolated" do you mean "has the cross-origin isolated capability <https://html.spec.whatwg.org/#concept-settings-object-cross-origin-isolated-capability> "? I wasn't able to find any spec or tests for this requirement, which seems like a potential interoperability issue. > > Blink component > > Blink>WebGPU > <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EWebGPU> > > TAG review > > WebGPU spec: https://github.com/w3ctag/design-reviews/issues/626 > > TAG review status > > A new TAG review was not requested because timestamp queries were already > part of the original one for the WebGPU spec and was approved. > > Risks > > Interoperability and Compatibility > > Timestamp queries have not yet been implemented in any browser, but have > been approved by the GPU for the Web Community Group, with representatives > from Chrome, Firefox, and Safari. See > https://github.com/gpuweb/gpuweb/wiki/Minutes-2021-09-27#:~:text=consensus%20to%20support%20end/begin%2Dpass%20timestamp%20queries > > Gecko: Positive (https://bugzilla.mozilla.org/show_bug.cgi?id=1827998) > > WebKit: Positive (https://github.com/gpuweb/gpuweb/pull/2190) > > Web developers: Positive. It’s one of the most common requested features. > Many developers already use it today by running chrome with a special flag. > See > https://omar-shehata.medium.com/how-to-use-webgpu-timestamp-query-9bf81fb5344a > Note that it was heavily used to benchmark and optimize Tensorflow.js. > > Other signals: > > 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 at the moment, WebGPU currently does not ship on Android WebView. > Parallel work is occurring to launch WebGPU on Android. > > > Debuggability > > No DevTools changes are required. > > Will this feature be supported on all six Blink platforms (Windows, Mac, > Linux, Chrome OS, Android, and Android WebView)? > > No > > All platforms will eventually have support. Will immediately be available > on ChromeOS, Mac, and Windows, since those platforms already support > WebGPU. Linux and Android are planned to have WebGPU support in the future, > so this feature will become available when WebGPU does. > > Is this feature fully tested by web-platform-tests > <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> > ? > > Yes > > WebGPU/WGSL have a conformance test suite (https://github.com/gpuweb/cts) > that is regularly pulled into Chromium and part of the testing of Dawn/Tint > in Chromium. > > Flag name on chrome://flags > > None > > Finch feature name > > None > > Non-finch justification > > None > > Requires code in //chrome? > > False > > Tracking bug > > https://bugs.chromium.org/p/dawn/issues/detail?id=1800 > > Availability expectation > > Feature is available only in Chromium browsers for the near future, on the > order of months. Other browsers intend to ship WebGPU support, but don't > have specified timelines. > > 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? > > No > > Estimated milestones > > Shipping on desktop > > 121 > > 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). > > None > > Link to entry on the Chrome Platform Status > > https://chromestatus.com/feature/5136606877188096 > > This intent message was generated by Chrome Platform Status > <https://chromestatus.com/>. > > -- > You received this message because you are subscribed to the Google Groups > "blink-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to blink-dev+unsubscr...@chromium.org. > To view this discussion on the web visit > https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPpwU5%2BEFoeuehbvaMwzXK3wZ6UxX0U4n7yZJwwJgVOADbBwHA%40mail.gmail.com > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPpwU5%2BEFoeuehbvaMwzXK3wZ6UxX0U4n7yZJwwJgVOADbBwHA%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra-xSjSd2p0me%2B3krei90X0VBNLCdR34i6qtfuwGL7Pv5A%40mail.gmail.com.