Элемент <canvas>
отслеживает текущий путь (т. е. множество точек, линий и кривых). canvas.moveTo
, canvas.lineTo
и canvas.stroke
работают по текущему пути. Каждый раз, когда вы вызываете canvas.moveTo
или canvas.lineTo
, вы добавляете текущий путь. По мере того, как путь становится все более сложным, рисунок становится медленнее и медленнее.
Вы можете очистить путь, вызвав canvas.beginPath()
. Выполнение этого в начале вашей функции рисования должно избавиться от замедления.