Задать вопрос

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

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

Как эта архитектура может быть изменена, чтобы было достижимо 60fps и ЦП адски не грелся? Забыть про эти танцы с бубном putImageData() и переезжать на WebGL?
  • Вопрос задан
  • 289 просмотров
Подписаться 4 Оценить 11 комментариев
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Frontend-разработчик: тариф PRO
    10 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию
    6 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@SnowElephant
putImageData заменить на drawImage
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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