Intent to Prototype: renderpriority attribute

Skip to first unread message

Vladimir Levin

Sep 21, 2021, 4:08:03 PM9/21/21
to blink-dev

Contact emails



The web includes a number of features and heuristics (such as content-visibility, containment and others) that allow the User Agent to skip rendering work for elements and contents of elements that are not visible to the user. This is done with the intent to allow other content, animations and interactions to remain smooth and get as much CPU time as possible. However, there are situations where this neglects the site intent of showing currently skipped content shortly. In other words, if the website intends to show an element whose contents are currently skipped, then skipping work may cause jank when the contents are ultimately presented.

The renderpriority attribute is an HTML attribute that informs the User Agent to keep the element's rendering state updated with a specified priority.

Blink component


TAG review

TAG review status



This is a new performance feature that allows the User Agent to break up the rendering work over several frames. It has minimal risk. We need to ensure that we consider timing as a potential attack, but I think that can be mitigated.

Interoperability and Compatibility

Since this is a new feature that does not affect anything other than the timing of the rendering work, there is no risk to interoperability and compatibility: User Agents that don't support the feature would essentially treat the rendering work as synchronous when it is presented. This is no different from what happens today. User Agents that do support the feature would be able to make iterative progress on the rendering work, thus having a shorter delay when the content is ultimately presented.

Gecko: No signal

WebKit: No signal

Web developers: Positive (partner feedback in email -- I'll work on getting public signals)


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

No. I will add tests, although being a performance primitive this may be difficult to test.

Requires code in //chrome?


Tracking bug

Estimated milestones

No milestones specified

Link to entry on the Chrome Platform Status

Yoav Weiss

Oct 4, 2021, 5:37:53 AM10/4/21
to blink-dev, Vladimir Levin, Patrick Meenan,
Thanks for working on this! It may be interesting to think through if/how this interacts with other prioritization work (on the network or on the script scheduling side). Adding Pat and Scott for visibility.
Reply all
Reply to author
0 new messages