It’s time for our next quarterly, feature bearing, update of the Flash Runtime! We’re at version 15 for both Flash Player and AIR and we’ve got some great new features and important bug fixes in store for you. We recommend everyone checks out the official release notes but feel free to read past the break for the high level description of our new features. We’ve also added some detailed guides to some of these new features in the blog posts further below.
- Relaxing Stage3D Render Target Clear
In previous versions of Stage3D, after switching the render texture through Context3D::setRenderToTexture, you were required to clear it before drawing. In this release, we’re removing this limitation and optimizing the use of render textures. This change will allow you to further optimize and reuse depth and stencil buffers between different render textures. For additional information, please see Relaxing Render Target Clear Operation in Stage 3D.
- Improved support for browser zoom levels – Windows 8
Flash Player now has improved support for browser zoom factors other than 100% on Internet Explorer on Windows 8.x. Devices, like the Microsoft Surface tablets, default to a zoom level of 150%. In the past, this could cause problems with Flash Player and some 3D content. With our new implementation, we can now scale the content and 3D buffers to keep everything aligned. In addition, Flash Player introduces an option to render to an increased Stage3D back buffer, rather than scaling, on browser zoom to keep the resolution of the rendered content high. This option allows to the stage3D buffer to change in size in synch with the change in the browser zoom factor. Developers are notified of this change with a new ZOOM_FACTOR_CHANGE event.
- Flash Player Fullscreen Orientation Change – Windows
Flash Player will now detect and appropriately scale your content to fit best in a fullscreen display when your device orientation is changed. This change is specific to Windows and is implemented across all browsers. We’re focusing on providing the best tablet experience possible. A resize event will fire when in fullscreen mode and the device orientation changes. Developers, if your content does not resize, you will need to handle the resize event appropriately. For additional details, please see the Guide for Supporting Screen Orientation with Full-Screen Flash Player Content.
- Hardware video decoding on Chrome (PPAPI) for Windows
We’re pleased to announce that hardware video decoding is now enabled by default for Chrome users on Windows. This feature will drastically reduce the CPU usage and improve performance on supported videos players. We’re working closely with Google to bring this feature to OS X and will provide additional details when available.
- Automatic software fall back with StageVideo
Flash Player 15 now supports a Software version of StageVideo that provides an automatic failover to the software version when hardware StageVideo is not available. To leverage this automatic failover, the swf apps need to be compiled for Flash Player 15 and above.When the swfs are compiled for Flash Player 15 and above, and when hardware StageVideo is unavailable, the app will get a StageVideoAvailability event as earlier, but instead of being “Unavailable” it will ALWAYS be “available”, and the reason will always be “noError”. The app will no longer need to implement a Video object failover as the failover is automatic inside flash player. The apps can still choose to use Video object instead of StageVIdeo if needed.Hardware StageVideo availability is dependent on a number of factors, including:
Browser hardware rendering support: If available, all wMode based apps will support hardware StageVideo. If not available, wMode=direct based apps will be the only ones that will support hardware StageVideo, unless there are other exceptions, like the ones mentioned below.On Windows:
IE11: IE has an accelerated pipeline and the FlashPlayer is HW accelerated in all wmode, so StageVideo should always be available. Note that the decision to use the HW accelerate rendering pipeline reside in IE.
Firefox: There is currently no HW accelerated pipeline available in Firefox on windows and only wMode direct will have StageVideo available all other wMode should generate a unavailable event.
Chrome: Pepper has HW acceleration in all wMode, but some restrictions apply. For example Chrome will refuse to use HW acceleration on Windows XP and it has its own driver blacklisting mechanism. It is also possible for the user to disable the HW acceleration in the settings panel. Chrome exposes a somewhat useful page to allow one to see the status of its gpu acceleration: chrome://gpu/
Safari: All wMode should expose StageVideo
Firefox: All wModes should expose StageVideo
Chrome: All wMode should expose StageVideo, with the same limitations as the windows version.
Driver version: Certain older drivers may not support hardware StageVideo
User settings: If a user turns off hardware acceleration, then hardware StageVideo will not be available
Full Screen: Hardware StageVIdeo is always available in Full Screen mode.
When the hardware StageVideo fails because of browser support, wMode, driver version or user settings, starting with Flash Player 15, SW StageVideo will be used automatically without needing any configuration or code in the app.
- Stage3D “Standard” profile support for iOS and Android
In the Flash Runtime 14 release we introduced the Stage3D “Standard” profile which provided many advanced 3D features. At that time, the “Standard” profile was only available on desktop platforms. In the AIR 15 release we are extending this coverage to mobile platforms. If a device supports OpenGL ES3, it can successfully request the “Standard” profile and use the same advanced features as the desktop platform. For additional information, please see our Stage3D Standard Profile article.
- StageText.drawViewPortToBitmapData now supports Retina displays
Currently, AIR will allow a bitmap with the same width/height of the StageText object to be passed into drawViewPortToBitmapData. While fine for standard resolution displays, this is not sufficient for Apple’s Retina HiDPI displays. Based on customer feedback, we’ve altered the drawViewPortToBitmapData method to accept a doubled size BitmapData with StageText’s view port on a Mac Retina display, and then draw a HiDPI image from the view port.
- Improved Packaging Engine is now default – iOS
Starting AIR 15, new improved IPA packaging engine is now the default packaging mode when packaging for AOT targets ipa-app-store, ipa-test, ipa-ad-hoc and ipa-debug. If you encounter any packaging or runtime issues, please report at http://bugbase.adobe.com. To use the older packaging mode, use “-useLegacyAOT yes” in the ADT command, before the signing options. To learn more about the feature, please read Faster Compiling with AIR for iOS
- AIR Gamepad Enhancements
AIR Gamepad feature enables the app developers to provide a second screen on Android mobile devices for the Flash based browser games. AIR Gamepad API enables Flash based browser apps to connect to a paired Android device running the AIR Runtime app and therefore allowing the Android devices to be used as game controllers or second-screen interfaces. Following enhancements are available starting AIR 15.Multiplayer Support
Applying skin as AIR gamepad screenTo learn more about the feature and usage guidelines, please see Android Devices with AIR as Gamepads
- AIR Cross Promotion
Adobe AIR 15 now supports cross promotion of AIR games for mobile devices. Cross promotions can be effective in saving some amount of advertising cost. With the right partnership, you gain access to a wider customer base with a demographic similar to that of your application.This cross promotion is free and works on a credit system. All you need is to earn enough credit points by promoting other AIR games to begin your own promotion campaign.The AIR SDK offers the new AdViewer API for promotion campaigns as a SWC, it provides functions to load and show in-game advertisements. You earn credit points for promoting AIR games by other developers based on ad impressions and clicks.To learn more about the feature and usage guidelines, please see Cross Promotion of AIR Games for Mobile.