我将CGBitmapContextRef用于大型可变图像.比我在UIView.drawRect中绘制一个部分.这在iPhone 3GS上运行良好 - 17FPS.但在iPhone 4上调用subj方法非常慢 - 总FPS为1.5!
profiler说:在3GS上调用CGSBlendBGRA8888到RGBA8888,占总时间的23%.在4G相同的代码调用argb32_sample_RGBA32/argb32_image_mark需要~90%.哇!
位图的颜色空间是CGColorSpaceCreateDeviceRGB.并且创建标志是kCGImageAlphaPremultipliedLast.
我可以做些什么来提高iPhone 4的性能?有什么建议 ?
尝试设置:
CGContextSetInterpolationQuality(myBitmapContext, kCGInterpolationNone);
Run Code Online (Sandbox Code Playgroud)
在你的位图上.kCGInterpolationLow是另一种选择.
另一种可能有用的技术是在视图中添加CALayer,并将CALayer的内容设置为位图,而不是在视图的drawRect中绘制位图图像.
| 归档时间: |
|
| 查看次数: |
4202 次 |
| 最近记录: |