Posts in Category "Performance"

Adobe AIR 2.7 Now Available: iOS apps 4x Faster!

Adobe is pleased to announce the availability of Adobe AIR 2.7 SDK and the Adobe AIR 2.7 runtimes.   Adobe AIR 2.7 includes new features for both desktop and mobile applications with mobile support for Android 2.2+, BlackBerry Tablet OS and iOS 4+ operating systems.  Companies can build and deploy AIR 2.7 apps using Adobe Flash Builder 4.5 with an upcoming update to AIR 2.7 later this month. (BlackBerry Tablet OS is scheduled to receive an OTA (over the air) update of AIR 2.7 by the end of June.)

New AIR 2.7 Features

Mobile

Enhanced rendering for iOS: AIR apps for iOS render up to 4x faster in CPU mode.  This change will improve the performance of many AIR for iOS apps, including those built with the Flex framework.  Watch the performance improvements

Video: Adobe AIR 2.7: Faster App Performance on iOS  (Renaun Erickson, Adobe Flash Platform Evangelist, demonstrates faster AIR 2.7 app performance on iPad)

 

Faster development time for iOS applications: Developers can now debug and build iOS applications faster than with previous versions using a new mode available within the AIR Developer Tool (ADT). During the development of an application, developers can now choose to use “interpreter mode” to streamline the testing and debugging development cycle.

AIR installation on SD cards for Android devices: This feature allows end users to install or move the AIR runtime onto the SD cards within their Android devices so they can free up storage space on the phone.

Desktop

Integrated support for Media Measurement:  The Adobe AIR 2.7 runtime now includes the same built-in support for media measurement as Adobe Flash Player 10.3, allowing companies to simplify the collection of real-time, aggregated reporting data for how content is distributed and viewed by users. With direct support for Adobe SiteCatalyst, powered by Omniture, developers can implement video analytics for existing or legacy video players with as little as two lines of code. For additional information, see the article on measuring video consumption in Flash.

Acoustic echo cancellation: With integrated support for acoustic echo cancellation, developers can now add real-time VoIP capabilities to games, enterprise, and other types of applications without requiring users to wear a noise-canceling headset. Users can now chat using the speaker built into their desktop or laptop computer. This new capability is also available in Flash Player 10.3.

Navigation Improvements for HTML Content: Enables seamless weblink-style navigation within desktop apps such as magazine viewers and ebook readers.  Developers can now respond to a new event to be notified when content within the HTMLLoader control attempts to change the location of a page. This enhancement provides developers with a better way to implement intra-application navigation.

For additional feature and release details please read the AIR 2.7 developer release notes.

New AIR apps for Android, iOS and BlackBerry Tablet OS

Although these apps are not currently using AIR 2.7, I thought I’d call to your attention to a few new apps based on Adobe AIR that recently hit the market.

iOS (iPad)

Rossignol Experience: Ski season is coming to a close, but this fantastic app from this famous ski maker provides a rich interactive branded experience to learn more about Rossignal skis. Video demo.

BlackBerry Tablet OS (BlackBerry PlayBook)

Comb Over Charlie: Comb Over Charlie was availble on the Android Market using AIR.  This game is now available on the BlackBerry PlayBook.  Soon to be on the iPad.  4.5 out of 5 stars!

Android

G20-G8: This is the official app of the French Presidency of the G20 and the G8.  Get real time updates and access to all the latest developments from the Summits and the preparatory meetings, as well as video reports and photos on the G20-G8 website.

Performance Improvements

Finally, performance improves with each release of AIR and the Flash Player.  If you checked out the AIR 2.7 on iOS video, you can really see the difference.  If you missed it earlier, here are a few Flash Player 10.3 on mobile related performance resources to check out.

Video: Enhanced Video Performance with Flash Player 10.3 on Android 3.1 (Renaun Erickson demos Flash Player 10.3 video on the Motorola Xoom)

 

Performance Tests

GUIMark3 by Sean Christmann –  Sean tests Flash Player and HTML5 on various phones and tablets.  Check it out.

“In terms of interactive content overall, it’s safe to say Flash maintains a 2x performance lead over HTML5 on average”

“The Flash VM performs really well on mobile chipsets and I don’t see any evidence here to support the idea that Flash is slow on smartphones and tablets.”

The Right Fit? Video Playback Performance on Android Handset and Tablet Devices Using Adobe Flash Player 10.2 and 10.3 By Tim Siglin. - Tim Siglin from Transition Inc., and Streaming Media fame recently published a follow up to his previous white paper testing Flash Player video performance.

“Our current testing finds that FP 10.2 on handsets and 10.3 on the Xoom: Provide a more consistent media consumption than Android’s built-in apps and services.

Download the Adobe AIR 2.7 SDK

Adobe AIR 2.6 for Android is now available!

Adobe is pleased to announce the immediate availability of Adobe AIR 2.6 for Android smartphones and tablets.  AIR 2.6 for Android adds support for Android 3.0 and the latest Android tablet devices – including the Motorola Xoom – as well as improvements to performance and GPU-based rendering, updated Android gesture support, and improved handling of HTML content within AIR apps.

AIR 2.6 for Android provides the foundation for the new Content Viewer for Android, part of Digital Publishing Suite.  Content Viewer for Android uses AIR 2.6 to enable publishers to author immersive, engaging publications and deploy content across platforms and different devices.  Major publishers using Digital Publishing Suite are on board to create and distribute content using Content Viewer for Android.  Condé Nast, National Geographic and Dennis Publishing are among the first publishers to indicate they will use this new viewer to amplify the reach of their iconic titles.

AIR 2.6 for Android can be downloaded from the Android Marketplace and is available on devices running:

  • Android 2.2 (FroYo)
  • Android 2.3 (Gingerbread)
  • Android 3.0 (Honeycomb)

A list of mobile devices that meet the AIR system requirements can be found at http://www.adobe.com/flashplatform/certified_devices/.

AIR 2.6 for Android performance improvements include:

  • Up to 20% faster scrolling performance
  • H.264 video decoding at 30fps
  • GPU-based animation and games at up to 50FPS

AIR 2.6 for Android functional improvements include:

  • Support for the latest Android system gestures
  • Bitmap Capture for StageWebView, which provides tighter visual integration between Flash and HTML content
  • Asynchronous Bitmap Decoding, which improves the performance of transitions in image-intensive applications

Applications developed with the Adobe AIR 2.5 SDK are compatible with the Adobe AIR 2.6 runtime.  Adobe is on target to deliver the AIR 2.6 SDK and desktop runtime before the 2nd half of 2011.

Update 02/25/2011 6:10PM PST

Motorola Xoom users who are using the Restore Applications feature of Android to transfer their content and apps – including the AIR and Flash Player runtimes – from a different Android device may experience the following as AIR 2.5 and Flash Player 10.1 are not supported on Android 3.0:

  • AIR apps are not able to launch. To resolve this, please go to Android Market, search for Adobe AIR, and select ‘update’ to upgrade to AIR 2.6. You won’t need to update or re-download your existing set of apps unless there is an update to the app itself.
  • Content developed for Flash Player will not display in the browser. Flash Player 10.2 with Stage Video and other new performance features will support Android 3.0 and address this. The runtime will be preinstalled on some devices or provided via OTA download for others like the Motorola Xoom within a few weeks of device availability.

ADDITIONAL RESOURCES

Learn

* How to publish your AIR application to the Android Market

* Learn how to get started building applications and content for mobile and devices

Develop

* Tell us about your AIR app for Android after you’ve posted to the Android Market at air-android-apps@adobe.com

MAX Session Highlight: Developing Well-Behaved Mobile Applications for Adobe AIR

David Knight, a member of the AIR development team, and Renaun Erickson, a platform evangelist at Adobe, co-presented an excellent talk at MAX 2010 titled Developing Well-Behaved Mobile Applications for Adobe AIR. The session covered a number of key topics that are valuable for developers building mobile applications using Adobe AIR including how to:

  • measure the performance of your application
  • detect performance bottlenecks
  • improve the performance of your apps using techniques like object caching, GPU render mode and cacheAsBitmapMatrix

In the session, David and Renaun used several demos to support key points in their talk related to performance. In addition, the talk provides examples of how to use the Flash Builder profiler to detect problems in your applications.

Adobe AIR on iPad

After queuing for an hour at the flagship Apple Store in SF this morning, we finally got our hands on a stack of magical devices. We’ve spent the rest of the day having fun getting the first Adobe AIR apps running on the iPad.

We’ve tested many of the existing AIR apps that are on the Apple App Store today (Alchemist, BaoZi Jump, Something Fishy, Gridshock, Space On-Air, Moai Mawashi etc, etc…), and they all have been working beautifully.

We have also been working on bringing up the first “HD” apps that take advantage of the gorgeous screen of the iPad.

Christian Cantrell from our team also got a multiscreen AIR app working on the iPad today.

The performance is pretty impressive, seems to be about 2x the performance of the 3GS. We’re looking forward to all the cool new apps that are going to be possible with this form factor.

JavaScript Memory and CPU Profiling in Adobe AIR 2

One of the biggest challenges our team continued to hear from JavaScript developers using Adobe AIR 1.5 was that it was too difficult to track down CPU and memory issues within their HTML-based AIR applications. To help JavaScript developers detect and resolve these issues, we have introduced new runtime support for CPU and memory profiling of HTML-based AIR applications in the Adobe AIR 2 beta.

By doing so, tools like Aptana Studio can build powerful features that make analyzing memory and CPU usage of JavaScript execution within an AIR app a breeze. In the video above, Paul Colton, CEO of Aptana, provides an overview of how Aptana Studio is able to take advantage of the new runtime support and build powerful new features to assist developers in tracking down performance issues.

Some of the features included in the new Adobe AIR 2 Beta Plug-In for Aptana Studio include:

  • Live Objects View
    • Shows current information about how much current and cumulative memory is used by the application
    • Shows the number of current and cumulative instances of objects
  • Memory Usage View
    • Peak memory used
    • Current memory used
  • Memory Snapshot and Object References Views
    • Captures the number of class instances as well as memory used at a point in time
    • Select an object to view its references
    • Allocation trace information reveals where the objects are allocated
  • Loitering Objects View
    • Displays the memory usage difference between two memory snapshots
    • Helps detect loitering objects that are still present
  • Performance Profile View
    • Displays a list of all method calls along with amount of time for each to run
  • Method Statistics View
    • Presents information on the callers and callees of a function including statistics
    • Quickly navigate to location of the function in the code

Both Adobe AIR 2 and Adobe AIR 2 Beta Plug-in for Aptana Studio are currently in beta. If you run into issues or have feature requests, both the Adobe and Aptana teams would appreciate hearing your feedback on these new capabilities.

Next steps:

  1. Watch the tutorial video for a quick introduction on the new profiler capabilities
  2. Download the Adobe AIR 2 Beta Plug-In
  3. Discuss the feature on the Adobe AIR 2 Beta forums or post a comment below

Note: For Flex and Flash developers, support for application profiling has been available in Adobe Flex Builder for some time. We are very excited to bring this support to JavaScript developers as well.

Writing well-behaved, efficient, AIR applications

Arno Gourdol, a member of the AIR engineering team, has posted an excellent blog entry titled Writing Well-behaved, Efficient, AIR Applications. Whether you are just beginning to build your first Adobe AIR application or already have deployed one to your users, this article provides some excellent suggestions on how to optimize the performance of your applications.

Performance Tips for Adobe AIR

Post Update: Be sure to check out the blog post Writing well-behaved, efficient, AIR applications by Arno Gourdol that provides more details on some of the tips suggested below.

As more Adobe AIR applications are being built, one piece of feedback that we hear from developers is that the idle CPU for basic AIR applications on the Mac is too high. Today, Flash developer Grant Skinner wrote a blog post sharing his concerns around the excessive CPU usage of Adobe AIR and Flash Player applications on the Mac — particular in the case of a simple application.

First, I want to thank Grant for not only sharing his concerns, but also for directing developers to use the open Flash Player bug database to report their issues. When the developer community votes on bugs that have the biggest impact, this helps send valuable data back to our development teams on what the community believes to be the most important issues. Though Adobe AIR does not have a public database yet, we request that you use our feedback form to report bugs and feature requests. These issues come directly to our team and we do our best to reproduce every bug that comes in.

Second, I also want to be clear that reducing CPU usage on the Mac is an area that we are making investments in the next version of Adobe AIR and Flash Player. This is an important issue for us to address and we are focused on making improvements in this area (we hear you Grant and we’re already working on it :).

Finally, as we talk to developers building Adobe AIR applications, we have come up with a few tips that can help improve the performance of your applications: 

  1. Try to use the smallest "frameRate" possible in your application. To do this, set stage.frameRate or mx:WindowedApplication attribute of your application. This will help reduce the overall amount of CPU usage for applications.
  2. When your application is in the background, set "stage.frameRate = 1;" as it will reduce CPU usage to < 1% 2.To be notified when an Adobe AIR application goes into the background: "this.addEventListener(AIREvent.APPLICATION_DEACTIVATE, appDeactivate);" Grant has put together a simple class that does this for you.
  3. Use Timer whenever possible instead of enterFrame handlers. The later are expensive and are called often.
  4. If you are building a Flex-based application, use the Flex Builder profiler to identify optimizations that can be made in your code. By doing so, you might find that you are, for example, invoking network calls more frequently than you need to.

If you have other tips, please feel free to share. We are planning to create a more comprehensive FAQ that provides guidelines on how to improve the performance of your applications. 

Also, be sure to check out the following links for other tips and tricks: 

Download the latest TweetDeck: Memory Leak Fixes & Facebook Integration

tweetdeck.jpg

The TweetDeck team recently launched version 0.25 of their popular desktop Twitter client powered by Adobe AIR. The latest version includes several impressive new features including Facebook integration, the ability to record video clips within TweetDeck using 12seconds and memory leak fixes. We had the pleasure to work closely with the TweetDeck team to help investigate a memory leak that was impacting quite a few users.

The TweetDeck team discusses new features on their blog and mentions the collaboration:

We’ve been listening and working hard, together with Adobe, making improvements to TweetDeck to fix the memory leak. Today we’re delighted to be able to tell you that the memory leak has been plugged and now the latest version of TweetDeck will peak at a certain level and won’t go any higher. So you can leave your TweetDeck running all day, all night, or forever if you really want to.

We often receive questions around memory and we are working on putting together some best practices for developers. If you have tips you would like to share, please feel free to post a comment or send us your bugs directly (simple test cases are much appreciated). If you are building your application using Flex Builder, the profiler can be extremely helpful in tracking down memory issues in your application (see profiler documentation).

Also, be sure to check out the Performance-tuning Adobe AIR Applications article on the Adobe Developer Connection.

Again, congratulations to the TweetDeck team on the release!

New Performance-tuning article on Adobe AIR Developer Center

adc.jpgOliver Goldman has written an excellent article titled Performance-tuning Adobe AIR Applications that is now available on the Adobe AIR Developer Center. The article explores how to define metrics, measure throughput and memory, and apply an optimization process to your development process.

It’s a must read article whether you have already deployed an AIR application to your customers or you are simply in the early stages of thinking about building an AIR application.

If you have thoughts or experiences you would like to share, positive or negative, with regard to the performance of your AIR application, please feel free to leave a comment. If you think you have encountered a bug in this area, let our team know directly by sending us a description of your issue to our wish list.

In the coming months, we plan on sharing more articles that describe how to optimize the performance of your applications.