Эффективная загрузка картинок с использованием OpenGL - PullRequest
0 голосов
/ 30 января 2012

Я занимаюсь разработкой 2D-игры для Android с использованием множества спрайтов. Я рисую на экране, используя OpenGL ES. Я разделил спрайты на несколько картинок (около 7). Я прочитал, что загрузка изображения в память занимает большую часть времени. Каждое изображение содержит различные категории изображений: например, элементы фона, вражеские юниты и т. Д. И т. Д. Я загружаю их в определенном порядке: сначала фоновое изображение, поэтому элементы фона рисуются внизу, затем вражеские юниты и т. Д. Но что мне делать, если я хочу нарисовать элементы фона в верхней части холста. Стоит ли дважды загружать картинку с элементами фона? Или сохраните этот специальный элемент на обоих рисунках - фоновое изображение и изображение, связывающее верхние элементы. Или есть лучший способ? Спасибо!

1 Ответ

1 голос
/ 30 января 2012

Загрузка не имеет ничего общего с рендерингом. Пока вы рендерите что-то после , когда вы загрузили это, все в порядке. Порядок, в котором объекты отображаются, не зависит от того, в каком порядке они были загружены.

Теперь, если это проблема памяти (т.е. вы не можете загрузить все сразу), то шаги, которые вам нужно предпринять, в значительной степени зависят от того, что вы делаете. Мы не можем дать вам ничего, кроме общих советов, потому что мы не знаем всего о том, что вы делаете.

В общем, вам нужно разбить ваш визуализированный мир на куски, которые умещаются в памяти. Это наложит ограничения на ваш дизайн : вы не можете использовать вещи (будь то фоны, вражеские юниты, что угодно) вне этого чанка. Поскольку вы разрабатываете на ограниченных платформах, вам просто придется смириться с этими ограничениями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...