Pull to refresh

Comments 13

Небольшой пример – исходный набор графики от игры весил 57 мегабайт, после замены всех png на jng – набор графики стал весить 15 мегабайт.

а чем не подошли хардварные форматы: pvr, bc, и тп? ведь их не придется разжимать в памяти, в отличии от вышеприведенного.
Потому что нет единного формата, который бы поддерживали все ускорители.
В теории ETC должны понимать все, но вопервых он без прозрачки, а во вторых теже эпловские девайсы его не поддерживают, так что возможно и на андроиде попадётся какой-то зверь, который не понимает ETC.

А по скольку нам для андроида нужен один билд, который будет работать везде — то придётся ложить несколько наборов пожатых текстур, которые покроют все варианты встречающихся чипсетов/драйверов. И таким образом вся идея экономии размера apk идёт лесом.

Также есть ещё одна большая проблема — это качество сжатых текстур. Даже четырёхбитный pvrtc даёт сильные потери качества — на прозрачных частях, вокруг непрозрачных пикселей начинает вылезать мусор. Края непрозрачных пикселей изнутри тоже портятся. В итоге, если из такой графики собирать GUI из кусочков (уголки, тайлы для серединок окошек и т.п.) то выглядит это страшно — место стыка элементов часто выделяется грязью, вокруг уголков окошек парит грязевой ореол и т.п.

Поэтому для GUI у нас используются не пожатые текстуры. (хотя для других частей используем пожатые, чтоб сэкономить видеопамять). Специфика игры такова, что в ней очень много графики для GUI и подобных элементов — есть несколько скинов, которые зависят от игрового сеттинга.
с правильными билд тулами, сделать свой формат для каждой платформы вообще не проблема. я не знаю что-там у андроидов, но думаю и для них можно как-то выкрутиться, ибо от хардварно сжатого формата графики плюсов намного больше чем от формата описанного выше.
у нас UI был на флеше, мы тоже его не жали.
Ситуация такая — платформа Andriod
Нужен один APK, который будет работать на любом андроид девайсе.
APK строго ограничен по размерам.
Андроидные девайсы бывают на тегре, на куалкомовских чипах, на powervr, самсунговские мали и т.п.
Каждый этот чип обычно поддерживает один-два формата сжатия — pvrtc, atitc, s3tc, dxt
Поэтому, чтоб гарантированно работало везде, в apk надо хранить текстуры во всех хардварных форматах сжатия.

В другой игре, где в размер apk мы помещались, но было не плохо экономить видеопамять мы делали так:
— основная масса текстур, которая не имела прозрачки — ложилась в etc
— текстуры с прозрачкой ложились несколько раз, запакованные в pvrtc, s3tc (и для самых гиблых случаев был вариант с png).
Adobe недавно выпустили тулзы для ATF — их формат для упаковки хардварнвх форматов (pvr и иже с ними)
Советую глянуть, Вам должно быть интересно
Спасибо, посмотрим. :)

Кстати сам pvr — это тоже «формат для упаковки хардварных форматов» — просто контейнер, а в нём может быть и pvrtc и etc и др.
Мы все форматы в pvr храним.
Да, моя ошибка, конечно же стоило бы написать «pvrtc» :)
В статье, как вы уже догадались — речь пойдёт о графическом формате JNG, а отнюдь не об оружии.

Ну заебали же вставлять в каждую-каждую статью по картинке, даже если (а чаще всего именно так) она не связана с содержимым.
Я бы вставил для примера JNG, но боюсь броузеры не поймут :(
За собственную либу и вообще статью — жирный плюс и спасибо!
За отсутствие прикладных примеров (для тех же моб. устройств) и повсеместные грамматические ошибки — ма-а-аленький минус :)
Word меня не спас — текст писал в нём, в надежде что это поможет избежать ошибок, но похоже я безнадёжен в вопросе грамматики :(

Была мысль сделать примерчик на GL ES, но подумал что двух примеров просто загрузки будет достаточно.
В примерах показанно как загрузить картинку в буфер, а что с ней дальше делать — это уже несколько за рамками описания формата JNG.
Статья про графический формат без примеров изображений? Ну ладно.
Статья для програмеров — про устройство формата, как с ним работать.
В статью картинки в формате JNI вешать безсмысленно — всё равно броузер не поймёт.
А на code.google.com помимо примеров программ я закомитил и тестовую картинку, над которой можно поэксперементировать.
Sign up to leave a comment.

Articles