0

这是一个非常耗费成本的功能,会影响我的表现吗?我猜他们将那个用于主屏幕上的摆动按钮+核心动画。我只是想在开始浪费时间之前知道;)

4

5 回答 5

3

这似乎不太可能是一个性能问题——它可以解决像余弦、正弦和一些乘法这样的问题。不要一秒钟调用它数千次,你会没事的。

于 2009-05-12T18:25:11.957 回答
3

非常(非常)少。这也是您可以轻松衡量自己的东西;有关实施高分辨率计时的示例/信息,请参见以下 URL:

于 2009-05-12T19:01:42.007 回答
1

与所有事物一样,这取决于您使用它的方式和数量。它一直用于游戏开发,iPhone 非常适合。CoreAnimation 也非常快。如果您对此感到担心,我的建议是采用 Apple 提供的示例应用程序之一并通过 Instruments 运行它,以执行您自己的一些基准测试,看看它们是否可以满足您的需求。

于 2009-05-12T18:22:24.007 回答
1

所有 CGAffineTransformMakeRotation() 所做的只是为常规的旧 CGAffineTransform 填充矩阵。如果您认为您可以自己更快地填充(或预填充)矩阵,那么就去做吧(如果这还没有进行超级优化,我会感到非常惊讶)。

然后,当需要进行应用转换的实际工作时,我很确定 GPU 被告知要处理它,这样它就会运行得很快,并且你的主 CPU 不应该受到太大的影响。

如果你真的很担心,那么在 OpenGL 之上的 2D 空间中进行转换,以确保它是硬件优化的。

于 2009-05-12T18:53:29.557 回答
0

我只想在开始浪费时间之前知道

优化系统而不是个别线路。谁知道您的代码将调用转换多少次。最好让整个系统工作,对其进行分析,然后优化太慢的部分。

不要担心人们告诉您的个别呼叫速度很慢。如果您的代码很慢,请将此信息用作指针,但始终查看代码中的操作方式。

于 2009-05-12T19:17:46.317 回答