0

我无法发布图像,但我使用“CGContextDrawRadialGradient”方法绘制了一个带阴影的蓝色球(直径约 40 像素),它是阴影,并在球周围制作了一个“脉动”的白色环(内部和外部渐变戒指)。圆环从蓝色球的边缘开始向外扩展(半径随着计时器而增长)。当白色环像无线电波一样向外扩展时,它会逐渐消失。

在模拟器中运行看起来很棒,但在 iPhone 4 上运行速度非常慢。环应该在大约一秒内脉动(如在模拟器中),但在手机上需要 15-20 秒。我一直在阅读一些关于 CALayer、CGLayer 的内容,并阅读了一些渐变动画的一些片段,但不清楚我应该使用什么来获得最佳性能。

我该如何加快速度。我应该把球放在一层上,把膨胀环放在另一层上吗?如果是这样,我怎么知道要在drawrect上更新哪个图层?

感谢任何指导。谢谢。

4

1 回答 1

1

加快类似速度的唯一方法是预渲染它。确定需要多少图像帧才能使它看起来不错,然后将每个帧绘制到使用 CGBitmapContextCreate 创建的上下文中,并使用 CGBitmapContextCreateImage 捕获图像。可能为图像设置动画最简单的方法是设置 UIImageView 的 animationImages 属性(尽管还有其他选项,例如 CALayer 动画)。

最新的 Apple 文档最终提到 iOS 支持哪些像素格式,因此请确保在创建位图上下文时参考这些格式。

于 2011-04-27T15:38:10.100 回答