PSA: Periodic prioritization of rendering on the renderer’s main thread in M81

33 views
Skip to first unread message

Katie Dillon

unread,
Feb 18, 2020, 2:26:33 PM2/18/20
to blink-dev

The Scheduling-APIs team has been experimenting with prioritizing rendering on the renderer’s main thread for the past few months. In conjunction with our work on building a native scheduling API, this change is meant as a step towards utilizing scheduling opportunities to make the web faster. It also provides better guarantees around timing of rendering, fixing issues like this and this


Previously, the blink scheduler would run rendering at the same priority as most work on the main thread (eg. postMessage, timers, ect.) which could leave rendering to get starved by other tasks and cause visual lag. To fix this, we landed an approach that periodically prioritizes rendering, targeting a lower frame rate of 10 fps. Experiments on stable have shown promising improvements; we see FCP improving across the board on some platforms. Given these results, we plan on shipping this in M81. Chromestatus entry for the change here. 


Note: With this change, some rendering timings will be impacted. Frames might be drawn sooner and or more often. And, as with any timing changes, changing the timing of rendering could impact other timing on a page. 


Cheers from the Scheduling-APIs Teams :)


Reply all
Reply to author
Forward
0 new messages