методы синхронизации для нескольких элементов холста html5 на веб-странице


person nosarious    schedule 26.09.2011    source источник


Ответы (2)


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

  • Если анимация на одном холсте медленная, анимация на другом холсте будет без необходимости ждать...
  • requestAnimationFrame help you create intelligent loop, ie if your canvas in hidden or your tab is not active, callback will not occur for canvas. In case of syncing, you will not be able to optimize fully.
    • It will be more complex to manage all the animation in one loop rather then individual loop.
  • Во время отладки вы можете столкнуться с проблемами, вызванными другими анимациями на странице...

Поэтому, если ваши анимации не связаны между собой, я настоятельно рекомендую не синхронизировать анимации одним циклом. Надеюсь, это ответит на ваши вопросы.

Следующая ссылка поможет вам узнать больше о Html5 Canvas...

person Software Enthusiastic    schedule 27.09.2011

Это полностью зависит от вас. Вы хотите, чтобы элементы работали синхронно друг с другом или нет? Или это не имеет значения?

Если это не имеет значения или вам нужна их синхронизация, держите их все в одном цикле с одним таймером. Это, вероятно, быстрее в каждом браузере, и будет легче отлаживать, поддерживать и понимать код.

Если они не должны быть синхронизированы, то, конечно, у вас должно быть два таймера! Кроме того, если вы считаете, что в будущем вам может понадобиться, чтобы разные части работали с явно отличающимися или меняющимися скоростями, вам следует подумать о двух таймерах.

person Simon Sarris    schedule 26.09.2011
comment
Спасибо. синхронизация не важна... просто интересно, будет ли проще кодировать. У меня возникли проблемы с тем, чтобы два отдельных таймера работали над одной «проблемой», которая представляет собой одностраничное веб-приложение. - person nosarious; 29.09.2011