I have a OpenGL menu which uses a scrollview to move the items. There are also UILabels that move with them.
This works perfectly on a iPad 2, and is a little slow on a iPad 1 but I can accept that.
On a ipad3, its even worse. It seems the scrollview moving a few views just kills it with OpenGl.
I seen people suggest a few things so on every view I put in to the scrollview (including the scrollview) I do this
// 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;
Am I missing anything, I can’t think of anything to improve the performance of OpenGl. I could try hiding items as they go offscreen but there is only 1 or 2 that goes off screen
The retina display on the iPad 3 has four times the pixels as the iPad 2, but it doesn’t have four times the GPU processing power. I’ve been bitten by things that work just fine on the iPad 2, but are much too slow on the iPad 3. I had a shipping iPad app (enterprise distribution) that worked fine until my client’s employees started getting iPad 3s. Then they noticed that the app was simply too slow in certain areas. I had to go back, profile what I did in my app to figure out the bottle neck, then rework the app to avoid that problem. It turned out to be a simple fix. I was drawing a large amount of obscured pixels with each update to the screen. When I optimized to draw far less screen area with each update the app was fast enough on an iPad 3.
I don’t see a definitive fix for your problem from the information included in your question. All I can offer is that you optimize your OpenGL code. The latest versions of Xcode have some great tools for optimizing OpenGL, but explaining how to use them is too large of a topic for this answer. Apple has some nice videos on OpenGL optimization techniques available in the WWDC and the Tech Talk collections of videos available on their developer website.