Dark_Knight
@Dark_Knight
Game Dev

HTML5 GAME: для спрайтовой анимации лучше использовать Canvas или DIV?

Здравствуйте.
Такой вот вопрос: делаю анимацию персонажа на спрайтах, подскажите стоит ли использовать canvas и в нем анимировать или лучше аниминировать с помощью css-анимации, то есть изменять background-position и использовать @keyframes ?
Какая принципиальная разница в обоих способах? Разве css-анимация по производительности не лучше js?
  • Вопрос задан
  • 919 просмотров
Решения вопроса 1
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
Canvas в разы шустрее SVG и тем более DOM
CSS анимация построена на перерисовке DOM, она никак не может быть быстрее

P.S. был у меня реальный случай, когда на одной странице одновременно отрисовывался webGL и CSS-transition, первый выдавал 30-40fps, второй заметно пролагивал
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Ну если у вас остальная игра на дивах, то какой смысл городить канвас ради одной анимации?
Ну и наоборот:)
Ответ написан
alvvi
@alvvi
export default apathy;
Canvas и EasleJS / Phaser вам в помощь. Ну или собрать свое подобие движка, если вам нравится велосипедостроение.
Ответ написан
Комментировать
fnnzzz
@fnnzzz
front-end dev
- canvas быстрее спрайтов/манипуляции DOM
- png спрайты быстрее svg спрайтов
- канвасами лучше управлять с помощью какой-то либы, вроде https://github.com/d3/d3
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы