iphone - 核心动画缩放速度异常缓慢?

标签 iphone core-animation scaling performance

作为 iPhone 游戏的一部分,我的按钮在您按下时会变大一点,而在您松开时会缩小(作为响应用户输入的一种方式)。负责的代码如下所示:

-(void) magnifyButton: (CALayer *) button
{
 button.transform = CATransform3DScale(button.transform, buttonPressScale, buttonPressScale, 1.0);
}

-(void) reduceButton: (CALayer *) button
{
 button.transform = CATransform3DScale(button.transform, 1.0 / buttonPressScale, 1.0 / buttonPressScale, 1.0);
}

这很好用。但是,如果我重复按下一个按钮(每个按钮都是 CALayer 上的一个小图像),则后台(在 OpenGL View 中)中进行的动画将减慢至 10 FPS。这对我来说似乎很荒谬。我发现了类似的问题here ,但由于我使用隐式动画,我不确定在这种情况下如何进行优化。

如果有人可以就如何以更合理的速度运行提出建议,我将非常感激。先谢谢你了

最佳答案

在动画开始之前,无需渲染 CALayer对于每一帧,将其替换为自身的图像:

button.shouldRasterize = YES;

动画完成后,将属性设置回 NO .

关于iphone - 核心动画缩放速度异常缓慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4121005/

相关文章:

html - 如何使用 `use` 在 SVG 中缩放/挤压三 Angular 形符号

php - 扩展 Rails 的成本与扩展 PHP 与 Python 框架的成本

iphone - iOS 7 下 UITableView 部分索引相关的崩溃

iphone - UIBackgroundModes 和 UIAccelerometer

iphone - 将核心动画与 OpenGL ES 结合

iphone - 创建类似于 UIAlertView 演示的 Pop 动画

java - Libgdx 相机/缩放问题

iphone - 目标完整性 - mac os 部署目标比 sdk 更新警告

ios - Xcode 8.0 - 应用程序安装失败 - 可执行文件包含无效签名

ios - 使用核心图形和核心动画创建包含圆圈的动画