Nice talk about Web Apps performance issues.
One of the main lessons is to not use setTimeouts to render things, use requestAnimationFrame instead.
Why? Paul Irish said the following:
The browser can optimize concurrent animations together into a single reflow and repaint cycle, leading to higher fidelity animation. For example, JS-based animations synchronized with CSS transitions or SVG SMIL. Plus, if you’re running the animation loop in a tab that’s not visible, the browser won’t keep it running, which means less CPU, GPU, and memory usage, leading to much longer battery life.