13

I've been working on an iPad app that has gone through fairly extensive testing on the iPad 2. I recently obtained a "New iPad" (iPad 3), and the app feels significantly slower. Animations / scolling behaviors that were silky smooth in the iPad 2 now feel extremely stuttery on the new iPad.

I do a lot of the standard UI performance tips: using shadowPaths, drawing UITableViewCells using CoreGraphics, rasterizing views that don't change often / don't need to animate.

Are there any pitfalls I should watch be watching out for in transitioning my app to the iPad 3?

Update

I swore that I tried this before but removing rounded corners from my UIViews views ended up speeding the app significantly. clipToBounds also seems to be a significant performance hit (although strangely... setting a view's layer's maskToBounds seems to be okay, which makes no sense to me). Some combination of this and other tweaks seems to have resolved the issue.

Once I do a second visual pass over the app, I'll figure out a way to reimplement rounded corners in a more performant way.

David Li
  • 305
  • 2
  • 7
  • 1
    Unforunately I'm having this issue too. My app runs fine on iPad1 & 2, but has severe performance issues on iPad 3. I'm using scrollViews with small to middle sized images and UIWebViews. However I fear this is iPad 3 imminent, because the Retina display requires 4 times the memory (on- and offscreen), but the new iPad only comes with double the memory and a similar CPU than the iPad 2. This should affect all apps that do not profit from the GPU. – auco Apr 03 '12 at 07:55
  • 3
    Apple has a drawing and printing guide that has recommendations to improve performance for non-retina apps running on a retina display: https://developer.apple.com/library/ios/#documentation/2DDrawing/Conceptual/DrawingPrintingiOS/SupportingHiResScreens/SupportingHiResScreens.html – Tim Reddy Apr 12 '12 at 13:05

3 Answers3

2

4x the pixels, only 2x the fill rate. The maths says it all.

Mindbrix
  • 129
  • 6
1

I think that the biggest thing to watch out for is copies of graphics from system memory to the video card since they are 4X larger than previous iPad graphics with about the same CPU power as the iPad 2.

Mark
  • 6,108
  • 3
  • 34
  • 49
  • I haven't updated very many graphics (none of any substantive size) to the retina display resolution so copying images to video memory shouldn't be substantially more expensive, right? I guess to clarify the question, what might be causing the performance issues with scrolling and animations? – David Li Apr 03 '12 at 01:03
0

Maybe it's due to upscaling by iOS? After all it has to calculate a higher res version of everything before showing to screen. Since some things on the screen are hi-res already (font and default ui elements) it has to scale every other element individually.

Have you tried just scaling the images yourself and adding them as retina images to your project?

Good luck.

hmottestad
  • 21
  • 1
  • I considered this possibility and tried it out, but it does not appear upscaling images causes any performance problems. – David Li Apr 12 '12 at 18:04