Why does this code decompress a UIImage so much better than the naive approach?
// makes system don't need to do extra conversion when displayed.kCGImageAlphaPremultiplIEdFirst | kCGBitmapByteOrder32little
我的CGBitmapContext是可变的,因此用户可以在其上绘图,向其添加图像等.
解决方法 我用kCGImageAlphaPremultiplIEdLast |进行了测试kCGBitmapByteOrder32Big vs kCGImageAlphaPremultiplIEdFirst | kCGBitmapByteOrder32little和分析器确实告诉我代码路径略有不同.kCGImageAlphaPremultiplIEdFirst | kCGBitmapByteOrder32little直接复制内存,而kCGImageAlphaPremultiplIEdLast | kCGBitmapByteOrder32Big通过转换函数.
这对我在CGBitmapContext中绘制路径所花费的总时间(甚至在iPod 4上)几乎没有影响,然后调用setNeedsdisplayInRect:在屏幕上显示它们.此外,由于总时间基本相同,我坚持使用kCGImageAlphaPremultiplIEdLast | kCGBitmapByteOrder32Big.
编辑我切换回kCGBitmapByteOrder32little,以便与使用BGRA(小端)字节顺序的其他iOS框架(如AVFoundation)具有更好的兼容性,因为它对性能没有影响.
总结以上是内存溢出为你收集整理的iOS上的CGBitmapInfo值性能全部内容,希望文章能够帮你解决iOS上的CGBitmapInfo值性能所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)