As an intervention, stop running Blink's rendering pipeline (including requestAnimationFrame callbacks) for content which isn't visible in the viewport. This helps to avoid doing unnecessary work for animations which aren't going to be seen by the user.
Documentation
Specification
Status in Chromium
Browser Intervention (tracking bug) in:
- Chrome for desktop release 52
- Chrome for Android release 52
- Android WebView release 52
Consensus & Standardization
After a feature ships in Chrome, the values listed here are not guaranteed to be up to date.
- Shipped/Shipping
- No signal
- Shipped/Shipping
- No signals
Owner
Last updated on 2021-01-02
Comments
In hopes of making this change web compatible, the throttling will only be done for documents in cross-origin frames. Because cross-origin frames cannot synchronously communicate with the outside world, there isn't a direct of observing the exact timing of the requestAnimationFrame callbacks within the frame. Also, note that pages already have to deal with requestAnimationFrame callbacks stopping completely for background tabs.