1536旋转CABasicAnimations的表现

时间:2013-08-06 20:47:45

标签: ios core-animation cabasicanimation

所以就是这样,在我的iPad屏幕上,我有768个小时钟转动。每个时钟都有一个小时和一分钟的指针。这些视觉内容在UIImageView中。我也尝试通过UIBezierPath / CAShapeLayer来表示它们,但这对性能没有帮助。当然,当我尝试动画所有它开始滞后。那么,有没有办法优化这个?动画代码非常简单

CATransform3D rotationTransform = CATransform3DMakeRotation(M_PI_2, 0, 0, 1);
CABasicAnimation *rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform"];
rotationAnimation.toValue = [NSValue valueWithCATransform3D:rotationTransform];
rotationAnimation.duration = 0.5f;
rotationAnimation.cumulative = YES;
rotationAnimation.repeatCount = HUGE_VALF;
[_imageViewMinutePointer.layer addAnimation:rotationAnimation forKey:@"transform"];

2 个答案:

答案 0 :(得分:0)

尝试使用CAReplicatorLayer。对不起,我没有示例代码,因为我自己没有使用它,但是我已经听过它提到了许多项目的动画效果。

答案 1 :(得分:0)

也许通过使用预渲染图像,您可以卸载大量的CPU功率。 1536个时钟不会是大钟,因此独特图片的数量会很少。