2012-09-14 19 views
9

Estoy escribiendo una aplicación para iOS que necesita cargar muchas imágenes de tamaño de pantalla completa en OpenGL. El espacio de almacenamiento de la imagen es una preocupación, entonces estoy usando png o jpg. El problema es: cargar los datos de la imagen lleva demasiado tiempo (100 s de ms en un iPad2).¿Cuál es la forma más rápida de cargar imágenes comprimidas en iOS?

Me preguntaba si alguien sabe la forma más rápida de cargar datos de imágenes comprimidas de buena calidad en un iPad o similar. Esto podría incluir el cambio a diferentes formatos de compresión de imágenes

Esto es lo que he encontrado (?):

  • Cargando jpg a través de la aplicación de IOS de libturbo-JPEG es más rápido que cualquier forma que encontré para png.

  • Si divide las imágenes jpg en dos, puede descomprimirlas en paralelo a través de GCD, lo que casi reduce el tiempo de carga a la mitad. ¡Aún no es suficiente!

  • El formato PVRTC PowerVR comprimido se puede cargar muy rápidamente, pero tanto la relación de compresión y la calidad de imagen se forma en el exterior lo que necesito ...

  • Ni idea de cómo se realizaría JPEG-2000, pero parece estar optimizado para la relación de compresión en lugar de la velocidad de decodificación.

¿Alguna idea ?? Esto debe ser un problema común para juegos o similar ..

¿Hay formatos de imagen más nuevos (jpg es 1986 !!) que tienen implementación portátil, tal vez un poco menos de compresión que jpg, pero decodifican mucho más rápido?

+0

Me gusta su descompresión en paralelo! Yo uso el turbo lib también. Lo más rápido sería guardar las fichas descomprimidas previamente procesadas y las capas CATiled para mostrarlas. No hay descompresión de imagen en absoluto. Las personas que hacen esto con el código PhotoScroller como punto de partida. –

+0

Hmm, tengo acceso más o menos aleatorio a las imágenes, por lo que descomprimir de antemano no funcionará para mí, supongo ... Simplemente debe haber algo entre PVRTC (20 ms de tiempo de carga, feo) y jpg (200 ms, nice) ... – Paul

+3

La mayoría de las aplicaciones que conozco dependen de PVRTC para las texturas que suministran, a menos que esas texturas deban generarse en tiempo de ejecución. ¿Has probado las diversas opciones de compresión en PVRTexTool (http://www.imgtec.com/powervr/insider/powervr-pvrtextool.asp) para ver si puedes lograr una calidad de imagen aceptable? –

Respuesta

Cuestiones relacionadas