Подтвердить что ты не робот

Каковы преимущества/недостатки Canvas vs. DOM в разработке игр JavaScript?

Каковы преимущества и недостатки создания игр в "чистом" DOM по сравнению с использованием холста?

4b9b3361

Ответ 1

холст профи:

  • может манипулировать пикселем и применять эффект фильтра, так легко обрабатывать изображения;
  • очень эффективен для небольших размеров, но сотни элементов в игре
  • многие библиотеки для игры можно найти с помощью холста, например box2dweb, и могли бы создавать потрясающие игры, такие как сердитая птица.

минусы:

  • он не имеет статуса, поэтому вам нужно записать состояния элементов в холсте и обработать тест на успех самостоятельно.
  • низкая эффективность для очень большого размера, но с одним элементом в игре
  • замечательная способность, большой ответственность. свобода рисования, приносит вам ответственность за весь персонал рисования. К счастью, там много библиотек, таких как cocos2d-html5, IvanK.

DOM плюсы:

  • рендеринг браузером, поэтому менее подвержен ошибкам;

минусы:

  • может делать простую анимацию только с CSS, что делает игру не беглой;
  • не подходит для управления сотнями элементов DOM;  

Ответ 2

С холстом вы можете выполнять такие операции, как вращение, которое невозможно сделать с помощью чистого купола, не используя некоторые "тяжелые" трюки. В любом случае dom быстрее, и вы можете использовать его в каждом браузере без проблем. Вы должны подумать о том, что вы собираетесь использовать в игре, если вы будете использовать только базовые операции, используйте dom, иначе выберите холст.

Ответ 4

Когда вы разрабатываете Canvas, вам придется использовать технику GameLoop, которая очень болезненна, потому что вам придется постоянно перерисовывать все элементы.

Когда вы работаете с DOM, вы сможете перерисовывать только те объекты, которые были изменены, и позволят тяжелой работе для реализации браузера.

Если ваша игра имеет несколько модификаций за кадр, вы можете использовать DOM, иначе используйте Canvas! Это намного быстрее!