The featured image shows Machinarium, a blockbuster Adobe AIR iPad game currently in the iOS App Store. Even though I personally didn’t have insight in their performance optimization, here are some generic quick tips to improve Adobe AIR performance.
1) Set StageQuality to low
It initially sounds like a bad idea given the low quality rendering Flash Player visually exposes on the desktop, but it’s less of an issue on mobile, especially on iOS. If most of the assets are bitmap based, it might be hardly visible, and boost performance significantly.
2) Convert complex vector graphics to bitmap
Flash CS 5.5 has a “Convert to Bitmap” function as part of the library asset context menu. Complex vector graphics are not a good fit for mobile, and a conversion can boost performance, and even increase rendering quality compared to vector, in case the stage quality is set to low.
3) Turn on GPU mode
Turn GPU mode on in the application.xml. It might not help with all applications, especially if authored with Flex, but if most of the assets are bitmap based, it has the potential to boost performance.
4) Use Flex AS UI skinning instead of MXML
Jason San Jose offers more information here.
Obviously features like Stage3D for mobile will define the next generation of AIR mobile performance, but until then, these quick tips will help to achieve better frame rates. For more gaming specifics optimization, check out Charlie Schulze’s best practices.
Do you have any other performance recommendations? Share them in the comments.