Я создаю игру с jQuery, где мне нужно обновлять 200+ (иногда 300) div каждый тик (около 0,02 секунды). Прямо сейчас производительность отличная (хотя и выходит за рамки) и работает в большинстве браузеров.
В моей игре используются «юниты», класс с функциями Create() и Update(). Create() создает div размером 32x32 и дает ему имя, а Update() устанавливает позицию двумя важными вызовами css:
$("#unit"+this.uid).css("left", posx+"px");
$("#unit"+this.uid).css("top", posy+"px");
Мне сказали, что HTML5 будет работать быстрее, «потому что содержимое холста HTML5 не меняет дерево DOM». Повлияет ли это в моем случае? Я бы протестировал это сам, но у меня нет опыта или знаний о HTML5, и я хотел бы знать, стоит ли мне сначала что-нибудь попробовать.
Заранее спасибо.
<canvas>
для рисования ваших единиц, а не использовать<div>
для каждой единицы. Я сам не делал ничего подобного, поэтому понятия не имею, чего можно ожидать от производительности, но вот несколько демонстраций<canvas>
, включая некоторые игры: canvasdemos.com - person Paul D. Waite   schedule 06.01.2012<canvas>
производительность: / - person Paul D. Waite   schedule 06.01.2012