Я изучаю возможность создания игры, используя только HTML-холст в качестве среды отображения. Чтобы принять пример задачи, которую мне нужно сделать, мне нужно построить игровую среду из ряда изометрических плит. Конечно, работа в 2D означает, что они по необходимости поступают в прямоугольные пакеты, поэтому существует большое перекрытие между плитами.
Я достаточно стар, что естественным решением этой проблемы является вызов BitBltMasked. О, подождите, нет, у HTML-холста нет ничего такого простого и приятного, как BitBlt. Кажется, что единственный способ сбросить данные пикселя в холст либо с drawImage(), который не имеет полезных режимов рисования, которые игнорируют альфа-канал, или для использования объектов ImageData, которые имеют данные изображения в массиве, к которым каждый. доступ. является. границы. проверено. а также. следовательно. собака. медленно.
ОК, это скорее напыщенная речь, чем вопрос (вещи, подобные W3C, как правило, провоцируют это от меня), но я действительно хочу знать, как быстро нарисовать холст? Мне очень сложно отбросить ощущение, что выполнение 100-ых drawImages() второе, где каждая ничья относится к альфа-каналу, по сути своей греховна и, вероятно, заставит мое приложение работать как осел во многих браузерах. С другой стороны, единственный способ реализовать BitBlt правильно в значительной степени зависит от браузера, используя технику исполнения, подобную hotspot, чтобы заставить ее работать быстро.
Есть ли способ быстро выполнить все возможные реализации, или мне просто нужно забыть о производительности?