Здравствуйте.
Отрисовываю на canvas упорядоченные фигурки. Каждую отдельно взятую фигурку можно перемещать по полотну (используя DnD).
![ab54c5c56ebe471f9da64a789378ee72.png](https://habrastorage.org/web/ab5/4c5/c56/ab54c5c56ebe471f9da64a789378ee72.png)
Вовремя перемещение фигурки перерисовывается полностью весь холст (на сколько я понимаю), что не есть эффективно для производительности.
Если я создам дополнительный элемент canvas и во время анимации буду рисовать в нем отдельно взятую фигуру, а в предыдущем полотне (где весь фигурки), воспользуюсь clearRect на определённую область, где размещалась ранее определенная фигурка до перемещения и по окончанию анимации перерисовать весь основной хослт.
Уточните, пожалуйста, верно ли я мыслю в данном направление или как работает canvas изнутри, если я на холсте изменяю хотя бы один пиксель (он реально перерисует весь холст или только один пиксель)?
Спасибо!