Моя проблема в том, что компания, в которой я работаю, начала давать мне искусство для игры, которую я делаю для них, и у нее огромный мир! Это дало мне огромное фоновое изображение, как 12923x5356 огромного!
Теперь я могу заставить его прокручиваться и работать как фон, но на моем старом компьютере, который является старым ThinkCenter, он работает немного медленно (обратите внимание, что он может запускать только crunchbang и едва ли xp). Смотрите, мы хотим иметь возможность поддерживать планшеты для этого. Это также еще больше усложняет то, что у них есть оверлей, такой же большой.
Прямо сейчас у меня есть только рисование фрагмента размером с холст, поэтому он рисует столько, сколько можно увидеть с помощью
ctx.drawImage(img, x, y, width, height, dx, dy, dwidth, dheight);
с dx / dy, всегда рисующим в одном и том же месте, и прокруткой x / y с главным героем.
Теперь реально, есть ли способ сделать это быстрее? Другой способ, о котором я могу подумать, - это, возможно, разбить изображение на маленькие куски с помощью getImageData и нарисовать так много, что заполняет экран с помощью ctx.putImageData (img, x, y) . По опыту я почти уверен, что маленькая форма drawImage немного быстрее, чем длинная, но будет ли она намного быстрее?
У кого-нибудь еще есть идеи, которые они могут выстрелить в меня?