是否可以在 UIImages 中使用 PVRTVC 纹理?
我遇到了一些内存中存在大量 UIImage 的问题,所以我想知道是否有任何方法可以在 UIImage 中使用 PVRTC 图像而不是 PNG。
I'm running into some issues with having a lot of UIImages in memory, so I was wondering if there is any way of using PVRTC images instead of PNGs in UIImages.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不,它仅限于 OpenGL 领域。
我过去使用过的一种技术是将压缩的 PNG 保存在内存中。作为 NSData 实例。然后使用
UIImage
的imageWithData:
方法按需解压缩它们。不过,它确实取决于图像的“复杂性”。就我而言,图像很“简单”,但性能却很好。
您还可以在 Github 上查看我的动画框架:
http://github.com/st3fan/iphone-animation
它使用类似的技术,但对内存中的压缩图像使用游程编码。会产生更大的数据(但仍然比未压缩的小得多),但与 PNG 相比,解压缩速度非常快。
No, it is limited to the OpenGL domain.
One technique that I have used in the past is to keep compressed PNGs in memory. As
NSData
instances. And then uncompress them on demand withUIImage
'simageWithData:
method.It does depend on the 'complexity' of your images though. In my case the images were 'simple' and resulted in fine performance.
You can also look at my animation framework at Github:
http://github.com/st3fan/iphone-animation
It uses a similar technique but uses run-length encoding for the compressed images in memory. Results in larger data (but still way smaller than uncompressed) but decompresses really quickly compared to PNGs.