Каковы преимущества и недостатки создания игр в "чистом" DOM по сравнению с использованием холста?
Каковы преимущества/недостатки Canvas vs. DOM в разработке игр JavaScript?
Ответ 1
холст профи:
- может манипулировать пикселем и применять эффект фильтра, так легко обрабатывать изображения;
- очень эффективен для небольших размеров, но сотни элементов в игре
- многие библиотеки для игры можно найти с помощью холста, например box2dweb, и могли бы создавать потрясающие игры, такие как сердитая птица.
минусы:
- он не имеет статуса, поэтому вам нужно записать состояния элементов в холсте и обработать тест на успех самостоятельно.
- низкая эффективность для очень большого размера, но с одним элементом в игре
- замечательная способность, большой ответственность. свобода рисования, приносит вам ответственность за весь персонал рисования. К счастью, там много библиотек, таких как cocos2d-html5, IvanK.
DOM плюсы:
- рендеринг браузером, поэтому менее подвержен ошибкам;
минусы:
- может делать простую анимацию только с CSS, что делает игру не беглой;
- не подходит для управления сотнями элементов DOM;
Ответ 2
С холстом вы можете выполнять такие операции, как вращение, которое невозможно сделать с помощью чистого купола, не используя некоторые "тяжелые" трюки. В любом случае dom быстрее, и вы можете использовать его в каждом браузере без проблем. Вы должны подумать о том, что вы собираетесь использовать в игре, если вы будете использовать только базовые операции, используйте dom, иначе выберите холст.
Ответ 3
Посмотрите здесь: Почему Canvas не является очевидным выбором для веб-игр.
Ответ 4
Когда вы разрабатываете Canvas, вам придется использовать технику GameLoop, которая очень болезненна, потому что вам придется постоянно перерисовывать все элементы.
Когда вы работаете с DOM, вы сможете перерисовывать только те объекты, которые были изменены, и позволят тяжелой работе для реализации браузера.
Если ваша игра имеет несколько модификаций за кадр, вы можете использовать DOM, иначе используйте Canvas! Это намного быстрее!