Тоже никаких тормозов не заметил. Мб у тебя там ещё 100500 приложений открыто?)
Парочка не столь существенных замечаний:
1. У тебя в функции draw() постоянно выполняется
ctx.fillStyle = player.color;
Хотя его можно вынести вверх.
2. И в той же самой функции есть
ctx.clearRect(0, 0, 800, 600);
Хотя канвас значительно меньше по размерам.