特定屏幕上的iOS Laggy UI

时间:2012-06-22 03:59:13

标签: iphone ios ipad

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

我体验到我的菜单的动画效果在应用的不同屏幕上显着不同。我似乎无法弄清楚导致性能差异的因素,因为它似乎与自身相矛盾。我可以看到的唯一相关性是,在使用DrawRect的Core Graphics绘图的屏幕上,菜单似乎表现不佳。在没有任何自定义绘图的屏幕上,菜单执行得非常好。在大多数情况下,自定义图纸通常是带渐变的简单路径。

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

1 个答案:

答案 0 :(得分:2)

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

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

我通过将视图上的“shouldRasterize”设置为true来解决它。在发生这一变化后,我注意到动画质量急剧上升。

view.layer.shouldRasterize = YES;