CGAffineTransformMakeRotation()的费用是多少?

时间:2009-05-12 18:18:11

标签: iphone uikit

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

5 个答案:

答案 0 :(得分:3)

似乎不太可能是一个性能问题 - 它可以用于余弦,正弦和几次乘法。不要每秒呼叫数千次,你会没事的。

答案 1 :(得分:3)

答案 2 :(得分:1)

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

答案 3 :(得分:1)

所有CGAffineTransformMakeRotation()都会填充常规旧CGAffineTransform的矩阵。如果您认为自己可以更快地填充(或预填充)矩阵,那就去吧(如果不是已经超级优化的话,我真的会感到惊讶)。

然后到了应用变换的实际工作的时候,我很确定GPU会被告知要处理它,所以它会快速运行,你的主CPU不应该花太多时间击中。

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

答案 4 :(得分:0)

  

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

优化系统而不是单独的线路。谁知道你的代码会调用转换的次数。最好让整个系统工作,对其进行分析,然后优化太慢的部件。

不要担心人们告诉你的个人电话很慢。如果您的代码很慢,请将此信息用作指针,但始终可以查看代码中的操作方式。