We have an AIR application running on an Apple iPad, that occasionally experiences sudden drop in its performance. The frame rate drops from 60fps to 2fps and it never recovers from that.
Some of our observations are:
- this is only reproducible on iOS 4, but never on iOS 5 – we’ve
checked that on two identical iPads (generation 1) - the performance drops occasionally, but always happens when we switch
between apps – from our app to another and back - very rarely, the performance drop also happens on first start of the
app - this performance issue does not happen in
renderMode=CPU, but this
mode doesn’t work for us, because the rendering is ugly, especially
on rotated bitmaps
Has anyone else experienced similar issues? Any ideas how to workaround it?
This sounds like a AIR runtime bug with the GPU rendering since it happens only on iOS 4 and not iOS 5. However, it is possible that your iOS 4 device has too little on-board GPU memory for keeping all the cached transformations. Once your cache is full, a huge performance drop will be seen (perhaps the same drop your seeing). You should use object pooling as much as possible to keep the cached transformations minimal.