LGTM to experiment from M139 to M144 (inclusive).
On 6/15/25 11:04 p.m., 'Jiacheng Guo' via blink-dev wrote:
Contact emails
g...@google.com
Explainer
https://github.com/whatwg/html/issues/11070
<https://github.com/whatwg/html/issues/11070>
Specification
None
Summary
We propose to add a new render blocking token full-frame-rate to the
blocking attributes. When the renderer is blocked with the
full-frame-rate token, the renderer will work at a lower frame rate so
as to reserve more resources for loading.
An example use case of the proposed API will be:
The web page contains an element <link rel="expect"
href="#critical-content" blocking="full-frame-rate"/> in the page
head. After parsing this element, the renderer will work at an
implementation-specific lower frame rate.
After the #critical-content element is parsed, the renderer will
restore its frame rate.
It is worth noting that the frame rate instructions will be
informative. The browser may decide to lower the frame rate before
parsing a blocking element. For instance, the frame rate may be
lowered at the very beginning of the loading phase. On the other hand,
the browser may also decide to restore the frame rate before the frame
rate blocking element list gets empty. For instance, the frame rate
may be restored after a timeout or certain user interactions.
Blink component
Blink>Compositing
<https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ECompositing%22>
TAG review
None
TAG review status
Pending
We plan to run a quick test so as to verify the loading performance
impact on certain sites. Field experiments on the beta channel do not
show significant loading performance improvement so the feature may
not be shipped at all. Thus, we'll delay requesting TAG review and
other browser signals until we are more confident in the feature's value.
Risks
Interoperability and Compatibility
None
The API is introducing an informative signal to lower the frame rate
during loading. The browsers not implementing the feature will simply
ignore the element. The behavior will not change on these browsers. We
consider the risk to be minimal.
Gecko: No signal
WebKit: No signal
Web developers: No signals
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
Goals for experimentation
We would like to verify the impact of the frame rate blocking API on
the loading performance. The loading performance changed will be
measured by the UMA WebVitals.FirstContentfulPaint4 and
WebVitals.LargestContentfulPaint3. The developers can also measure the
impact by collecting latency data in the page loading process.
Ongoing technical constraints
None
Debuggability
None
Will this feature be supported on all six Blink platforms
(Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
No
Yes
Is this feature fully tested by web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?
No
Acquiring the frame rate during page loading in javascript turned out
to be very difficult and the result is unpredictable on different
platforms. Thus it is hard to add a test to verify that the frame rate
is really lowered during loading in web tests.
Flag name on about://flags
None
Finch feature name
RenderBlockingFullFrameRate
Requires code in //chrome?
False
Tracking bug
https://crbug.com/397832388 <https://crbug.com/397832388>
Launch bug
https://launch.corp.google.com/launch/4385256
<https://launch.corp.google.com/launch/4385256>
Estimated milestones
Origin trial desktop first
139
Origin trial desktop last
144
Origin trial Android first
139
Origin trial Android last
144
Origin trial WebView first
139
Origin trial WebView last
144
Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5207202081800192?gate=5073049818497024
<https://chromestatus.com/feature/5207202081800192?gate=5073049818497024>
Links to previous Intent discussions
Intent to Prototype:
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/67c7dfbb.2b0a0220.1efd8e.0902.GAE%40google.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/67c7dfbb.2b0a0220.1efd8e.0902.GAE%40google.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 visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJQw1NxZLiK3FW6ny%2BYuyF%3D%3DJW7WFEeXsLoiOuzeoUXnk171Rg%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJQw1NxZLiK3FW6ny%2BYuyF%3D%3DJW7WFEeXsLoiOuzeoUXnk171Rg%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 visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/d123c2b6-bacb-4b21-bb45-425e7157ef38%40chromium.org.