[英]Radial gradient draw performance - Can OpenGL-ES improve?
我正在开发一个图像处理应用程序,它覆盖了从照片库加载的图像上的径向渐变。
在屏幕上我有一个滑块来动态地/减少径向渐变的半径。 我发现在模拟器上的性能还不错,但在iPhone 3G或3GS上,移动滑块时重绘速度要慢得多。
我目前正在使用CGContextDrawRadialGradient
进行绘图。 我每次重绘的步骤都是:
UIGraphicsBeginImageContext(size)
; CGGradientCreateWithColorComponents
drawInRect
CGContextSetBlendMode
CGContextDrawRadialGradient
UIGraphicsEndImageContext();
drawInRect
。 是否有更快的绘制方式? 也许使用OpenGL?
任何建议/示例代码将不胜感激。
谢谢。
以下是一些可能会提高性能的想法
(假设您使用渐变为图像添加渐晕):
CGLayer
中, 这样可以避免每次需要绘制时进行缩放 。 CGLayer
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.