Now that requestPostAnimationFrame is starting to get implemented, the question of how to avoid layout thrashing starts to get a lot simpler: put your DOM writes in requestAnimationFrame, and your DOM reads in requestPostAnimationFrame. https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/m-UwqK3cdjA #webperf