One of the most expensive operations is when the game state changes, because we have to merge delta state(s), then tell the BaseGameObject instances that they have updated so they can update sprites and such.
This leads to micro stuttering between frames when a merge occurs, and the UI locks up.
Instead, we should use web workers to throw that expensive load to another thread, so the UI does not stutter.
One of the most expensive operations is when the game state changes, because we have to merge delta state(s), then tell the BaseGameObject instances that they have updated so they can update sprites and such.
This leads to micro stuttering between frames when a merge occurs, and the UI locks up.
Instead, we should use web workers to throw that expensive load to another thread, so the UI does not stutter.