0

我有一个 iPad 应用程序,它有一个时髦的路径样式菜单,出现在每个屏幕上。当菜单打开时,菜单项出现时会显示一些漂亮的动画。整个应用程序始终使用相同的菜单实例,它仅在应用程序启动时分配和初始化一次。

我体验到我的菜单的动画性能在应用程序的不同屏幕上显着不同。我似乎无法弄清楚是什么导致了性能差异,因为它似乎自相矛盾。我能看到的唯一相关性是,在使用 DrawRect 绘制核心图形的屏幕上,菜单似乎表现不佳。在没有任何自定义绘图的屏幕上,菜单的性能非常好。大多数情况下的自定义绘图通常是带有渐变的简单路径。

使用核心图形进行绘制时是否存在已知的动画性能问题,或者我的性能问题是否由其他原因引起?使用仪器运行应用程序不会显示任何泄漏。在仪器中的核心动画性能测试工具下运行应用程序显示屏幕之间的 FPS 差异显着,使用核心图形绘图的屏幕的 fps 低于不使用它的其他屏幕的 50%。

4

1 回答 1

2

我在使用渲染阴影时遇到了这个问题:

view.layer.shadowOffset = CGSizeMake(0, 0);
view.layer.shadowOpacity = .95;
view.layer.shadowRadius = 8;

我通过将视图上的“shouldRasterize”设置为 true 来解决它。在进行这一更改后,我注意到动画质量大幅提高。

view.layer.shouldRasterize = YES;
于 2012-06-22T04:13:10.857 回答