Flash Player 11.4, AIR 3.4 out; Flash Builder 4.7 Coming Soon

Adobe has updated its Flash Platform with the release of Flash Player 11.4 and AIR 3.4.

This is the third release (after 11.2, and 11.3) according to the Flash Platform Roadmap released by Adobe a couple of months back, and things seem to be going mostly by the roadmap. It seems that there will be another Flash Player release after this (11.5 possibly) before a major update to the Flash Platform, likely with Flash Player 12.

This is also the first release of Flash Player to introduce the Premium features, or more accurately, this is the first release that makes those existing features premium and starts checking for a license.

The 11.4 release adds a major new feature that has been missing from the Flash Platform for a long time, and one that many developers had been asking for, some form of concurrency. While previous releases of Flash Player made certain parts of the runtime concurrent, such as video and image decoding, now the power is finally in the hands of the developers.

The new model of concurrency in Flash Player 11.4 is called ActionScript Workers. The new ActionScript Workers API allows you to load an SWF in a separate thread, pass data to it, and communicate with this. Each worker is essentially another instance of the Flash Player running that SWF, so having too many threads can be inefficient.  This could allow Flash applications such as image editors to perform operations such as applying filters and encoding image data in the background while the application remains responsive. You can see a demonstration of this new feature in the following video, which has a Flash application encoding an MP3 in a worker:

Flash Player 11.4 also brings updates to the Stage3D feature that enables hardware-accelerated 3D in Flash Player.

The new release enables hardware acceleration for Stage3D on a wider range of hardware, going back to 2006. The older hardware can be targeted using a new “constrained” Stage3D profile that places some restrictions on the kind of content that will work. According to the release notes, here are the restrictions on such content:

  • Limited to 64 ALU and 32 texture instructions per shader.
  • Only 4 texture read indirections per shader. Limited to a smaller amount of constants/varying/temps per shader.
  • No support for predicate register. This affects sln/sge/seq/sne and needs to be replaced with compound mov/cmp instructions which are available with ps_2_0 (this will be done under the hood at the cost of using more instruction slots compared to ps_2_x).
  • The Context3D back buffer must always be within the bounds of the stage.
  • Only one instance of a Context3D running in Constrained profile is allowed within a Flash Player instance.
  • As with mobile the classic Flash Display List elements will not be updated while constrained Stage3D content is visible unless Context3D.present() is called.

Since hardware acceleration can be beneficial even to 2D content being rendered on 3D stage, there are frameworks such as Starling which enable 2D content to be accelerated using Stage3D. This framework has also been updated to work with the new constrained profile, and other frameworks are likewise being updated to support this new profile.

Other features of Flash Player 11.4 are:

  • Support for LZMA in ByteArray
  • Compressed texture with alpha support for Stage3D
  • Support for webcams in StageVideo
  • DXT Encoding

Since Adobe AIR pretty much follows the feature set of Flash Player, these features are available in AIR 3.4 as well. New features in AIR 3.4 are:

  • Push Notifications on iOS
  • Direct AIR deployment using ADT without needing iTunes
  • Ambient AudioPlaybackMode
  • Exception Support in Native Extensions for iOS
  • New option in ADT to list the attached mobile devices
  • ADT option to resolve ANE symbol conflicts on iOS

The carbon APIs on AIR for OS X have also been depreciated.

To take advantage of some of these new features, Adobe had also announced Flash Builder 4.7. Flash Builder 4.7 will support the new Flash Player and AIR features and will also support the Apache Flex 4.8 SDK, which should be the first major update to the Flex SDK since it switched to a community-driven development model under Apache.

This new Flash Builder will support the iOS Simulator and USB debugging, and should add support for creating and debugging worker SWFs. Flash Professional will also be updated to support these new features. A beta of Flash Builder 4.7 should be available on Adobe Labs in a few days.

You can download the latest versions of Flash Player and AIR from the Adobe website. You can also check out this tutorial in two parts for developing Flash applications that use ActionScript Workers:

Leave a Comment

Your email address will not be published. Required fields are marked *