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

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

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

Как эта архитектура может быть изменена, чтобы было достижимо 60fps и ЦП адски не грелся? Забыть про эти танцы с бубном putImageData() и переезжать на WebGL?
  • Вопрос задан
  • 286 просмотров
Подписаться 4 Оценить 11 комментариев
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Профессиональная вёрстка на HTML и CSS
    3 месяца
    Далее
  • Stepik
    Основы HTML и CSS
    2 недели
    Далее
  • OTUS
    HTML/CSS
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
@SnowElephant
putImageData заменить на drawImage
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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