Back in 2013, I wrote a post about frame-by-frame animation interpolation.

That was a necessary step to demonstrating multithreaded physics simulations, which I presented at EmpireJS in 2014… and then never presented again!

Although it’s been a long time, the information within that talk mostly holds up! I just never got around to collecting it all here.

In summary: sending serialized game state between a rendering thread (60hz) and a processing thread (30hz, Web Worker), combined with interpolated animation, frees extra CPU time to spend on both. Aka, exploit a pocket parallel universe!

Slides

Code

The README, in particular, has a ton of information on how it works and inspiration/resources, too!