gpt4 book ai didi

iphone - 优化 Core Graphics 动画绘图 (iPhone)

转载 作者:搜寻专家 更新时间:2023-10-30 19:57:12 24 4
gpt4 key购买 nike

我有一个每秒触发函数 30 次的循环。该函数更改了我用来制作动画的几个点的位置。我在所有点上画线,这意味着这些线每秒会变化 30 次。

我将这些线绘制到 CGLayer,然后在 drawRect: 方法中将其绘制到 UIView。我这样做是因为我知道在屏幕外绘制时性能会提高。但是,CGLayer 似乎保存了所有实际线条而不是绘制的像素,因为即使我清除它,当绘制更多线条时,程序运行速度也会随着时间的推移而越来越慢。

我正在寻求其他方法来制作动画。什么是最有效的方法,为什么?

最佳答案

您应该使用 Core Animation 框架来为层上的属性设置动画。您可以子类化 CALayer 或使用委托(delegate)来进行实际绘图。在绘图代码中,您可以访问正在插值的属性并使用它来移动点、更改线的粗细或 Core Graphics 允许您控制的任何其他内容。看this example code from Apple并查看它如何使用正在设置动画的 lineWidth 值。

This little tutorial by John Blackburn是我最喜欢的 Core Animation 介绍之一。有几个不同的概念需要掌握,但通常创建非常复杂的动画非常简单。

您遇到的运行速度越来越慢的问题很可能与 Core Graphics 无关。例如,可能是您不小心创建了越来越多的计时器。

关于iphone - 优化 Core Graphics 动画绘图 (iPhone),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3310883/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com