Simulation step runs at a fixed interval. Interpolation doesn't help smoothness. It's perfectly smooth. The jitter that happens every couple seconds must be coming from somewhere else. I've tried really hard to keep dynamic memory allocation to a minimum, but I fear garbage collection is still the culpret because processing times are like 1.2 milliseconds per frame, which is ridiculously easy.