Кажется, моя простая холщовая игра отлично работает на Chrome и FF на Mac / Linux. У меня еще не было возможности протестировать его на смартфонах или Windows. Он не использует двойную буферизацию, но я видел несколько примеров использования JS Canvas.
Когда рекомендуется использовать двойную буферизацию? Это имеет значение только для определенных браузеров? Есть ли значительный удар по производительности?
Благодарность!
javascript
html5
html-canvas
double-buffering
Петтери Хиетавирта
источник
источник
Ответы:
Двойная буферизация игры на основе холста, безусловно, станет хитом производительности. Вы будете рисовать дополнительное количество пикселей, равное размеру вашего холста в каждом кадре. В играх, основанных на холстах, рисование на холст в большинстве случаев является самым узким местом, и вы хотите максимально ограничить его, особенно на мобильных устройствах.
Chrome имеет ускорение на GPU (в последних версиях), а также злой быстрый движок JavaScript (V8), который вы не увидите в мобильной среде. Даже в Chrome вы увидите замедление, реализовав двойную буферизацию.
Короче говоря, выгода от двойной буферизации (борьбы со «разрывом») не стоит того удара, который вы, скорее всего, получите.
источник
Нет необходимости дублировать буфер html5-игр. Браузер уже обрабатывает это для вас, обновляя объект canvas только после запуска вашего скрипта. http://www.mail-archive.com/whatwg@lists.whatwg.org/msg19969.html
источник
Я заметил, что используя двойную буферизацию, вот так:
на самом деле замедляет рендеринг (ниже fps), вместо того, чтобы ускорять его
источник