Flash Player 10.1 & AIR 2.0: It’s not just about new features…

fp_air_logoRecently I’ve been getting a lot of questions about the performance and stability of the Flash Player and AIR runtimes. I got another one just this morning and thought it would be a good idea to write a quick blog post about this.

Let’s talk about Flash Player first. In all honesty, I also encounter the occasional Flash Player crash in Safari on Mac OS X. Many times this seems to be caused by an uncaught exception. Some of these crashes could have been avoided if the developer had written the code to catch that exception. Flash Player 10.1 will make this a lot easier with a global exception handler.

Now don’t get me wrong, I’m not trying to push this back in to the developer’s shoes but it is something to think about. And just to be totally clear: Flash Player shouldn’t crash on an uncaught exception. That said, you should know that the Flash Player team is aware of some stability issues and is working on that. They are also constantly monitoring our public bug base so if you do encounter a crash, make sure you log it in the bug base! You can rest assured that stability and performance are always on top of the agenda of the Flash Player team.

I also keep hearing people say that the AIR runtime uses too much of the available system resources. Obviously this depends heavily on what the application is actually doing at that time. If your application is suffering from this symptom, make sure you read these blog posts. Soon after reading these three posts, your AIR application will use less than 1% of CPU while idle. In AIR 2.0 the target is to reduce the idle CPU usage to 0%. Early tests with AIR 2.0 show a 30% memory reduction and a 50% reduction in JavaScript CPU consumption. We’re also targeting a 40% reduction in runtime size.

We haven’t announced any specific dates for the release of Flash Player 10.1 and AIR 2.0 but make sure you keep an eye on Adobe Labs and our blogs.

5 Comments

  1. That’s good to hear. We can do wonderful things with Flash but sometimes performance becomes a real issue. It’s good to hear Adobe is not only building new features but also thinking about optimalization, hope they will keep on doing that.

  2. I heard some things about Flash Player 10.1 using about 50% less memory. Is this true?

  3. It’s good that Adobe is finally taking this seriously, but in truth, even 30% less memory still isn’t good enough.

    Although I agree developers should be mindful not to use too many resources (something that, I believe, contributed to flash developers being some of the best coders in the industry), there’s a lot that Adobe could be doing to make our jobs easier.

    For example, just take a look at what someone like Joa Ebert has been doing with TAAS (http://blog.joa-ebert.com/tag/taas/ ). He’s written a swf bytecode optimizer that makes clean, readable, well written code run as fast as the hackiest, short-cuttiest, ultra-optimized actionscript.

    It’s hard not to question Adobe for not doing this for us in the first place.

    I mean, if you look at the before & after diagrams, there’s a lot of room for improvement in compiled bytecode. It shouldn’t have to fall (solely) on the developer to ruin his beautiful code just to save a few CPU cycles/megs of RAM.

  4. I agree Gilles, and when Flash/Flex developers will need to spend less time worrying about performance they can go on and create even greater projects. I am fairly satisfied with the performance of Flash but when you try stuff like Augmented Reality it kind of sucks that it doesn’t run as smooth as the C++ libraries. (I don’t know exactly how much influence Adobe can have on this)

  5. “You can rest assured that stability and __performance__ is always on top of the agenda of the Flash Player team.”

    I don’t want to be rude, but I’m a Flash developer (and enthusiast) since 5 years now, and I didn’t see any improvement in the Flash Player performances.
    I mean, obviously, Action Script 3 provided a huge gain of speed in term of code execution, but the drawing performances are always really incapacitating for large projects.

    I won’t even speak of the Flash Player performances on OSX, which are totally catastrophic.
    In France, for most people, Flash is synonym of huge CPU usage for just a banner that could be done in DHTML or for a video that could be played with another plugin such as DivX or… Silverlight.
    A LOT of people are really glad that Safari for iPhone doesn’t support Flash.
    It’s really sad, since it’s not totally true, and often a conception issue more than a player one, but there’s a part of truth beyond these predjudices.

    I’m actually quite disappointed, since I _really_ love the Flash Platform and its community, but have to use C# instead of Flex+AIR for my later projects at work, because of this performance issue.

    I really hope Flash Player 11 won’t be a new show-case of stunning new functionalities, but a real optimized version of the player.

    With all due respect, and my excuses for my approximative english.