从JPEG支持的CGImage获取解码CGImage的最有效方法是什么?

时间:2013-10-06 13:31:11

标签: ios jpeg cgimage

今天我很惊讶JPEG支持的CGImage支持的CALayer(我的意思是[[JPEG backed CGImage] backed CALayer])是如此之慢,以至于对于800万像素的照片来说,它感觉不到GPU。

我尝试通过将原始CGImage绘制到CGBitmapContext中来创建一个新的位图支持的CGImage,它以某种方式解决了速度问题。但它带来了6xMB的内存突发(从3MB开始)并花了大约一个时间来完成绘图工作。

有没有办法从原始的CGImage中获取解码图像?或者其他方法可以让JPEG支持的CGImage更快,也许告诉它只使用缓存位图并且永远不会丢弃它?


我切换到CGDataProviderCopyData方法。快一点,但在iPhone 4S上仍然需要0.8秒。我开始想知道由编码源支持的CALayer背后的机制是什么?当图像缩小并且图像的更多部分被显示时,它变慢。但即使显示整个画面(实际上我仍然可以获得10fps之类的东西),也不会像1fps一样慢。

0 个答案:

没有答案