Again, you are only testing the accuracy (and impossibility) of a 1ms setInterval in javascript which cannot happen.<p>Here is your previous canvas test I modified to a real "zero" timeout<p><a href="http://jsbin.com/owino3" rel="nofollow">http://jsbin.com/owino3</a><p>With "zero" timeout I get 2000+ fps in firefox, 500+ fps in Safari 5 and 9000+ in Chrome 11.<p>(looks better in firefox/safari, in Chrome it goes so fast it's practically trying to rip spacetime)<p>In your original "1ms" test they are all under 100 fps except Chrome which can fire as fast as 4ms so it gets 200fps.<p>Basically all your tests across different browsers with your current code is only proving how fast or slow that browser engine deals with a "1ms" setInterval request. Most of them will not fire faster than 8ms, some slower and some like chrome will go down to 4ms. Then because you are using setInterval instead of setTimeout, you get a "backlog" because the event will fire regardless if the previous one was done or not.<p>setZeroTimeout removes the entire timer overhead from the benchmark, it fires as fast as physically possible in the browser used and the remainder of the time is simply what's leftover from drawing the canvas or svg object.