在iOS上加载压缩图像的最快方法是什么?

9

我正在编写一个iOS应用程序,需要将许多全屏大小的图像加载到OpenGL中。由于存储空间有限,所以我使用了png或jpg格式。问题是:加载图像数据需要太长时间(在iPad2上需要100毫秒以上)。

我想知道是否有人知道在iPad或类似设备上快速加载高质量压缩图像数据的最快方法?这可能包括切换到不同的图像压缩格式(?)

以下是我找到的:

  • 通过iOS实现的libturbo-jpeg库加载jpg比我找到的任何一种加载png的方式都要快。

  • 如果将jpg图像分成两个部分,您可以通过GCD并行解压缩,这几乎可以将加载时间减半。但仍然不够!

  • PowerVR压缩的PVRTC格式可以非常快地加载,但压缩比和图像质量都远远超出我的需求...

  • 不知道jpeg-2000的性能如何,但它似乎经过优化以获得更好的压缩比而不是解码速度。

有什么好主意吗?这一定是游戏或类似应用程序的普遍问题。

是否有任何更新的图像格式(jpg是1986年!!)具有可移植的实现,可能比jpg略微压缩,但解码速度更快?


我喜欢你的并行解压!我也使用Turbo库。最快的方法是保存预渲染的解压瓦片和CATiled图层来显示它们。完全没有图像解压缩。有些人以PhotoScroller代码为起点进行此操作。 - David H
3
我知道的大部分应用程序都依赖于PVRTC提供纹理,除非这些纹理需要在运行时生成。你是否尝试过PVRTexTool(http://www.imgtec.com/powervr/insider/powervr-pvrtextool.asp)中的各种压缩选项,以查看是否可以实现可接受的图像质量? - Brad Larson
当你说“随机访问图像”时 - 所以你是在手机上访问它们还是通过下载?如果是下载,可以查看PhotoScrollerNetwork,它会实时下载JPEG并使用libjpegturbo进行解码。 - David H
@Paul,你在这方面有什么进展吗?很有趣听到你最终使用了什么。 - BlueVoodoo
将图像序列制作成H.264视频。 - barbazoo
显示剩余3条评论
1个回答

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接