I did some tests in Chrome and requestAnimationFrame gave 61 fps and setTimeOut( callback, 0 ) - 233 fps.
If you want to have more than 61 fps (which I'm not sure why), but would it not be better to display using setTimeOut and just use requestAnimationFrame to detect when the window has lost focus and then stop timeouts until focus returns?
And a side question: is there another way to detect when a window loses focus, other than requestAnimationFrame, without calling a callback?
source share