Skip navigation
Currently Being Moderated

AIR 2.6 performance on iOS devices

Mar 22, 2011 7:57 AM

When I first tried iOS packager it looked too raw and slow to use in real applications. But the technology was very promising and product was obviously far from release. A new version of AIR (2.6) was released recently and it is claimed that performance on iOS devices was improved. I downloaded new AIR SDK and repackaged sample iOS application. However, I wasn't able to detect any significant performance boost. In fact, application seemed to work even slower on iPad. What is weird, I could see some speed increase on iPhone 4. But neither execution performance on iPad, nor on iPhone is not even close to the execution speed of the same application (although packaged with AIR 2.5) on Android device (Galaxy Tab). I can imagine that Android packaging could work for me. But execution on iOS devices is definitely too slow so far. Btw, I use Flash Builder Burrito and Flash Hero SDK with new mobile flex components for the development.

The question is, what is your experience with AIR 2.6 iOS packager? Any significant increase in performance? Are there any special steps required to turn on iOS performance optimization in builder or packager?

I'm going to try AIR 2.6 Android packager next. Will post an update when done.

 
Replies
  • Currently Being Moderated
    Mar 22, 2011 9:23 PM   in reply to Zhenya1919
    I agree with your opinion.
    AIR 2.6 is more slow than the previous version from iOS.
     
    |
    Mark as:
  • Currently Being Moderated
    Mar 23, 2011 2:00 AM   in reply to 원강민

    well, I don't aggree.

    I guess it all depends on how you build your app.

     

    From testing I have done on the iPhone (4 and 3gs), when using the GPU correctly, performance is now a lot better (frame rate was around twice as with the packager). However, one must understand that in AIR 2.6, filters are not supported in GPU rendering, and having them in the game does effect the performance considerably (even CPU mode will be faster in some cases).

    And yes, CPU rendering is (much) slower the GPU mode (dah!), but it still seems better the the CPU rendering of the packager (I'll need to publish my benchmark app again with the old packager using CPU mode to have more accurate numbers).

     

    so [Proper use GPU 2.6] > [Proper use* GPU packager]

    but [Wrong use GPU 2.6] < [CPU 2.6]

     

    *The GPU mode in the packager does support filters, so maybe it's not a fair to compare them like that.

    Then again it's faster even in bitmap vs bitmap rendering (without filters).

     

    I can say that performance has improved enough that we're going to upload to the appstore a game that previously was not playable on the 3GS but now is.

     
    |
    Mark as:
  • Currently Being Moderated
    Mar 25, 2011 4:22 AM   in reply to Zhenya1919

    We had previously considered side-lining our game app for iOS as it wasn't as fast and smooth as on the Android (Samsung Galaxy S). After re-packaging it for iOS using AIR 2.6 we've seen a huge speed increase. Where previously the game struggled at 25FPS it now runs smooth even at 50FPS (testing done on iPad).

     

    We are compiling for GPU and using vector rendering for all our graphics working with native sprites and letting Flash do all the work. Our game can run using cacheAsBitmap and cacheAsBitmapMatrix which we put in a settings screen but this was NOT in use during the above test.

     

    I've read of other developers actually reporting slow downs, but for ourselves, packaging for iOS using Air 2.6 has been an amazing success.

     
    |
    Mark as:
  • Currently Being Moderated
    Mar 25, 2011 10:01 AM   in reply to FlashKevin

    sorr for the dupe, but i already posted this in the iOS packager forum:

    -------------------------

    the one big  advantage with 2.6 publishing is, that the app behaves as it should when  it comes to moving objects performance slowdown.
    Before performance  would break down in strange ways if I inserted too many moving objects  in my sandbox. Now the framerate just goes down when raising  the  objects count.


    If you want, check out the video of my proto: http://www.youtube.com/watch?v=uE56XCG06FM

    Same principle as with FlashKevin. Just Sprites and scripting no timeline stuff, one enterframe thats handles all the object controllers. GPU accelerated.

    You absolutely have to use cacheAsBitmapMatrix or else Sprites/Bitmaps will look jaggy and performance just sucks bigtime. I am also setting cacheAsBitmap = true.

     

    I had some bad performance, when i packaged a project that ran fine with the old packager due to a stage scaling issue.

    Performance  on the ipad seemed to be really bad when publishing a iPhone project  without "stage.scaleMode = StageScaleMode.NO_SCALE"  with 2.6.

     

    I am actually pretty happy with this release (at the moment).

     

    Simon

     
    |
    Mark as:
  • Currently Being Moderated
    Mar 25, 2011 9:56 AM   in reply to Zhenya1919

    You used Hero components in an app packaged for iOS?

     
    |
    Mark as:
  • Currently Being Moderated
    Mar 31, 2011 5:44 PM   in reply to Zhenya1919

    I've noticed a significant increase in performance with my app. I can now have many more objects moving around on the screen and the framerate remains smooth. It was generally OK with the packager, but would get jumpy from time-to-time.

     
    |
    Mark as:
  • Currently Being Moderated
    Mar 31, 2011 6:38 PM   in reply to Zhenya1919

    my game is done using entirely the graphics drawing class and some text fields but i make use of alpha, and when publishing with 2.6, cpu is faster than gpu.

     

    so i wonder ... is alpha allwed or will that slow things down in 2.6? should i be setting cache as bmp after i draw? is there a guide/blog post i'm missing?

     

    thanks!

     
    |
    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)