2012-07-23 37 views
0

我有一个OpenGL菜单,它使用scrollview移动项目。还有UILabel随它们一起移动。IOS:OpenGL + UIScrollView + UILabel:iPad 3上的性能差2对2

这在iPad 2上完美运行,在iPad 1上有点慢,但我可以接受。

在ipad3上,它更糟。看起来scrollview移动几个视图只是用OpenGl杀死它。

我看到有人推荐一些东西,所以在每一个观点,我把到滚动视图(包括滚动型)我这样做

// Performance! 
    self.titleLabel.opaque = YES; 
    self.titleLabel.clipsToBounds = NO; 
    self.titleLabel.layer.masksToBounds = NO; 
    self.titleLabel.autoresizesSubviews = NO; 
    self.titleLabel.layer.shouldRasterize = YES; 
    self.titleLabel.layer.rasterizationScale = [UIScreen mainScreen].scale; 

我失去了什么,我想不出有什么可改善OpenGl的性能。我可以尝试隐藏项目,因为他们走出屏幕,但只有1或2,将关闭屏幕

回答

4

iPad 3上的视网膜显示器的像素是iPad 2的四倍,但它没有四倍GPU处理能力。我一直在iPad 2上工作得很好,但iPad 3上的速度太慢了。我有一个运输iPad应用程序(企业分布),直到我的客户的员工开始获得iPad 3时才运行良好。然后他们发现该应用程序在某些地区速度太慢。我不得不回顾一下,剖析我在应用程序中所做的工作,找出瓶颈,然后重新制作应用程序以避免此问题。它原来是一个简单的修复。每次更新屏幕时,我都会画出大量模糊的像素。当我优化绘制更少的屏幕区域与每次更新时,应用程序足够快,在iPad 3上。

我没有从您的问题中包含的信息看到问题的确定修复。我所能提供的是你优化你的OpenGL代码。最新版本的Xcode有一些优化OpenGL的优秀工具,但是解释如何使用它们对于这个答案来说太大了。苹果公司在WWDC上提供了一些关于OpenGL优化技术的漂亮视频,以及TechTalk系列产品videos available on their developer website.