Как оптимизировать анимацию на canvas?

В игрушке fintank.ru экран (canvas) перерисовывается на 20 fps. Каждый кадр рисуется несколькими вызовами putImageData(), которые подобно гугло-картам составляют картинку из квадратных фрагментов. Фрагменты преобразованы в ImageData и лежат в кеше. Каждый фрагмент может быть иногда изменён сервером (положили/убрали игровой объект). Изменённый фрагмент рендерится в ImageData и замещает в кеше старый вариант.

Как эта архитектура может быть изменена, чтобы было достижимо 60fps и ЦП адски не грелся? Забыть про эти танцы с бубном putImageData() и переезжать на WebGL?
  • Вопрос задан
  • 280 просмотров
Пригласить эксперта
Ответы на вопрос 1
@SnowElephant
putImageData заменить на drawImage
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы