Как преобразовать файл JPG или PNG в формат RGB_565 и загрузить в opengles 2.0 в Android? - PullRequest
1 голос
/ 14 декабря 2011

Я работаю над приложением для Android с Opengl es 2.0.В настоящее время я загружаю огромный файл размером 2048x2048 для текстуры.У меня в основном много 256х256 изображений, слитых в один большой файл, чтобы сэкономить время загрузки в приложение.Я узнал, что, конвертировав этот jpg-файл в RGB_565, я могу сэкономить немного памяти и быстрее загрузиться.

Я попытался Google, но не нашел прямого способа конвертировать jpg в формат RGB_565 для загрузки в opengl.Когда я пытаюсь загрузить обычный jpg в opengl, используя расширение как RGB_565, я получаю только черный экран.Пожалуйста, дайте мне знать, как преобразовать простой файл jpg в формат, который может быть загружен быстрее, например формат RGB_565.

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

1 Ответ

0 голосов
/ 04 декабря 2012

Обычные JPEG-файлы 24-битные. Если вам нужна текстура 565, вам придется перекодировать либо во время декодирования, либо после декодирования, но до загрузки текстуры. Если у вас узкое место при декодировании, это вам не поможет; если время загрузки ограничено, ожидайте, что оно приведет к ускорению не более чем на 33%.

Если вы в настоящее время используете JPEG для текстуры, у вас нет альфа-канала для беспокойства. В зависимости от ваших требований к качеству, использование ETC1- (или специфичного для устройства сжатия - PVRTC очень хорошо, если вы используете PVR GPU), сжатая текстура будет иметь значительно большее время как загрузки, так и времени декодирования.

...