"新iPad"(Retina iPad 3)上动画和滚动性能卡顿的问题

13
我一直在开发一款iPad应用程序,它已经在iPad 2上进行了相当广泛的测试。我最近获得了一台“新iPad”(iPad 3),这个应用程序感觉明显变慢了。在iPad 2上丝般顺滑的动画/滚动行为现在在新iPad上感觉非常卡顿。
我执行了许多标准UI性能提示:使用shadowPaths、使用CoreGraphics绘制UITableViewCells、光栅化不经常更改/不需要动画的视图。
在将我的应用程序转换到iPad 3时,有什么陷阱我应该注意吗?
更新:
我发誓我之前试过这个,但是从我的UIView视图中删除圆角最终显着提高了应用程序的速度。clipToBounds也似乎是一个重要的性能问题(虽然奇怪的是...设置视图的层的maskToBounds似乎是可以的,这对我来说毫无意义)。一些其他调整的组合似乎解决了这个问题。
一旦我对应用程序进行第二次视觉检查,我将找出一种更高效的实现圆角的方法。

1
不幸的是,我也遇到了这个问题。我的应用在iPad1和2上运行良好,但在iPad 3上存在严重性能问题。我正在使用带有小到中等大小图像和UIWebViews的滚动视图。然而,我担心这是iPad 3不可避免的问题,因为Retina显示屏需要4倍的内存(在和离屏上),但新的iPad只配备了双倍的内存和与iPad 2类似的CPU。这应该会影响所有无法从GPU获利的应用程序。 - auco
3
苹果公司提供一份绘图和打印指南,旨在为在Retina显示屏上运行的非Retina应用程序提供性能优化建议: https://developer.apple.com/library/ios/#documentation/2DDrawing/Conceptual/DrawingPrintingiOS/SupportingHiResScreens/SupportingHiResScreens.html - Tim Reddy
3个回答

2

4倍的像素,只有2倍的填充率。数学说了算。


1

我认为需要特别注意的是从系统内存复制图形到视频卡,因为它们比之前的iPad图形大4倍,而CPU功率与iPad 2相当。


我还没有将很多图形(任何实质性大小的)更新到Retina显示屏分辨率,因此将图像复制到视频存储器中不应该更加昂贵,对吗?我想澄清一下问题,是什么导致了滚动和动画的性能问题? - David Li

0
也许这是由于iOS的升级导致的?毕竟它必须在显示到屏幕之前计算出更高分辨率的版本。由于屏幕上的某些元素已经是高分辨率的(字体和默认UI元素),因此它必须单独缩放每个其他元素。

您是否尝试过自己缩放图像并将其作为视网膜图像添加到项目中?

祝你好运。


我考虑了这种可能性并尝试了一下,但似乎放大图像并不会导致任何性能问题。 - David Li

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接