Intent to Experiment: Long Animation Frame Timing

314 views
Skip to first unread message

Noam Rosenthal

unread,
May 24, 2023, 3:06:56 AM5/24/23
to blink-dev

Contact emails

nrose...@chromium.org

Explainer

https://github.com/w3c/longtasks/blob/main/loaf-explainer.md


Specification

https://github.com/w3c/longtasks/blob/main/loaf-explainer.md

Summary

This is a extension of long tasks. It measures the task together with its subsequent rendering update, adding information such as long running scripts, rendering time, and time spent in forced layout and style ("layout thrashing"). Developers can use this as a diagnostic for "sluggishness", which is measured by INP, by finding the causes for main-thread congestion which is often the cause for bad INP.



Blink component

Blink>PerformanceAPIs

TAG review



TAG review status

Pending

Risks



Interoperability and Compatibility



Gecko: Positive Not yet a formal signal but showed positive interest at WG call.

WebKit: No signal

Web developers: Positive (https://twitter.com/jebbacca/status/1653355406368952321) Wix, Taboola, and others have already experimented with this in Canary. Strong excitement from several partners at We Love Speed conference.

Other signals:

Ergonomics

It should work well with other performance timeline entries, mainly event-timing/INP.



Security

This feature exposes rendering time to iframes, which might be cross-origin (same-process). However, this is anyway observable, by using requestAnimationFrame. Note that everything in this feature is same-process.



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?



Goals for experimentation



Ongoing technical constraints

None



Debuggability



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

Yes

Is this feature fully tested by web-platform-tests?

Yes

Flag name

LongAnimationFrameTiming

Requires code in //chrome?

False

Tracking bug

https://bugs.chromium.org/p/chromium/issues/detail?id=1392685

Launch bug

https://launch.corp.google.com/launch/4244858

Estimated milestones

OriginTrial desktop last120
OriginTrial desktop first115
OriginTrial Android last120
OriginTrial Android first115
OriginTrial webView last120
OriginTrial webView first115


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/6118675067699200

Links to previous Intent discussions

Intent to prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJn%3DMYbX%3DEOAwkEvDQY9Ja1trSXLFtM1XNsuw1Lr2QR88%2BTnqw%40mail.gmail.com

This intent message was generated by Chrome Platform Status.

Rick Byers

unread,
May 24, 2023, 11:56:47 AM5/24/23
to Noam Rosenthal, blink-dev
LGTM - excited to see people experiment with this!

--
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+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJn%3DMYbdL3atq6FvsfrR%3DVs%2Boexvt04zfjV97BNNPL76iPTGLg%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages