Intervention: Throttle rendering pipeline based on viewport visibility

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.


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.



Established standard

Status in Chromium


Enabled by default (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
  • No public signals
  • Shipped
  • No signals


Last updated on 2020-04-27