Innovations in Flash Player 10.1
Flash Player 10.1 came out yesterday and I decided to translate an article by Paul Betlem from the Flash Player development team about what was implemented in the new version.
Today I am very pleased to announce that Adobe Flash Player 10.1 is now available for Windows, Mac and Linux. Flash Player 10.1 for the Android platform will be available a little later, in the coming months - a beta version is currently available in the Android Market.
In this article I would like to share a description of the new player features for PC. In this post, I will talk about the work that we have done to improve performance, power management and video, as well as discuss new Multi-Touch and private viewing technologies, as well as talk about our work to improve the performance of Flash Player for Mac.
As noted above, the team spent most of the time optimizing memory usage. Tab support is common for users who often have many open pages in the browser at the same time. This is very convenient for saving time, but uses a lot of memory. In Flash Player 10.1, we added new functionality that allows you to track when memory is near the end. Now that applications use too much memory, Flash Player automatically terminates their execution.
The development team has made a number of enhancements to save resources to reduce power consumption and extend battery life. For example, Flash Player can now reduce power consumption by pausing applications running in inactive browser tabs. In the case of background audio playback, execution will continue.
Some significant changes were made to Flash Player 10.1 that changed the architecture of the timer and event management system. Without going deep into the details, the end result is that Flash Player and Adobe AIR applications use significantly less processor resources when the content is on standby and consumes less power during execution. These enhancements are most pronounced on the Mac platform.
Hardware decoding, improved buffering, p2p video transmission, multicast and http broadcasting are the majority of improvements in Flash Player 10.1 in terms of video delivery and video playback. For the desktop platform, Flash Player 10.1 allows you to use hardware decoding of H.264 video to provide smoother playback and high quality with minimal resource use on all supported operating systems (Windows and Mac OS X using the special Flash Player build - Gala ). Using hardware decoding allows you to transfer the execution of this task from the processor, improving playback speed and reducing the use of system resources.
In addition, dynamic streaming via http protocol (HTTP Dynamic Streaming) expands the delivery options for high-quality live video and video on demand with the ability to adapt the bitrate to the user's channel. This option allows publishers to use the standard HTTP network infrastructure, which improves the reach and quality of services for delivering video based on the MP4 packet standard.
The p2p interoperability features are now available in Flash Player 10.1 thanks to the RTMFP protocol (Real Time Media Flow Protocol) that allows Flash Player to interact in real time. Support for user groups is also implemented, allowing you to transfer messages and data within the group. Application-level broadcasting allows you to organize one-to-all broadcast of a live stream, for example, to create audio / video chats.
Improvements in RTMP broadcasting and buffering capabilities significantly improve video playback for Flash Player users. The connection recovery available for RTMP streams allows you to continue playing using the buffer even if the connection is interrupted. When the connection is restored, the stream resumes playback. Developers can add stream reconnection logic in ActionScript to reconnect to the server in case of network problems.
The new smart rewind system allows you to achieve the capabilities of digital video players (DVR). Smart rewinding allows the user to rewind using the new back buffer, so viewers can easily rewind the video back or forward without asking the server, which significantly reduces the time of rewinding. Smart rewinding can speed up rewinding and realize the effects of slow or fast playback, as well as repeating interesting moments (instant replay) for streaming video. Also, it became possible to specify the delay limit of live video, which allows to accelerate video playback when the delay exceeds this limit by synchronizing the video time for a long playback period.
Many companies have begun manufacturing mobile devices that support this functionality, and not only smartphones, but also tablet-PCs or PCs like HP Touchsmart. With Flash Player 10.1, you can take advantage of the latest equipment and operating systems, with the ability to interact with the user using the new ActionScript 3 API, for Multi-Touch technology and create the ability to interact with several objects at the same time, or to work with basic gestures, such as zooming, scrolling, rotating, zooming, and two-finger tap. Multi-touch may be one of the most important features for developers and designers creating new applications for the Flash platform.
Flash Player 10.1 fully supports the private browsing mode in browsers (when local data is not cached and user activity is not saved) by implementing a compatible private browsing mechanism between SWF and HTML content. Private local objects (LSOs) are traditional local objects (similar to cookies) that are created during private browsing and deleted as soon as the user returns to normal browsing mode. Existing local objects exist during private browsing, but are not available.
Our Mac developers, with the help of the Safari development team, have made significant changes to Flash Player for Mac. Here is an incomplete list of work that we performed for Argo. Firstly, Flash Player 10.1 is a full-fledged Cocoa application (although Carbon support remains for some browsers that need it). Cocoa events are now used, using the Cocoa interface for dialogs, using Core Audio for sound, Core Graphics for print support, and using Core Foundation for text.
One of the improvements we made to support double buffering of the OpenGL context, which improves full-screen playback. We also explored a number of compile-time optimizations using Xcode to improve the overall execution speed of Flash Player on Mac. Rendering performance has been improved through the use of Core Animation. For Mac computers using Mac OS X 10.6 or later, it is possible to use hardware acceleration in Core Animation to increase the efficiency of displaying web pages that combine both SWF and HTML content. The overall increase in Flash Player performance for Mac users will increase video playback speed and more efficient use of the processor.
In my opinion, the Flash Player development team has made pretty good steps to improve the player, and perhaps the moment will come when the developers come to Steve Jobs and, as he said, show a well-working Flash Player.
Today I am very pleased to announce that Adobe Flash Player 10.1 is now available for Windows, Mac and Linux. Flash Player 10.1 for the Android platform will be available a little later, in the coming months - a beta version is currently available in the Android Market.
In this article I would like to share a description of the new player features for PC. In this post, I will talk about the work that we have done to improve performance, power management and video, as well as discuss new Multi-Touch and private viewing technologies, as well as talk about our work to improve the performance of Flash Player for Mac.
Performance and Power Management
As noted above, the team spent most of the time optimizing memory usage. Tab support is common for users who often have many open pages in the browser at the same time. This is very convenient for saving time, but uses a lot of memory. In Flash Player 10.1, we added new functionality that allows you to track when memory is near the end. Now that applications use too much memory, Flash Player automatically terminates their execution.
The development team has made a number of enhancements to save resources to reduce power consumption and extend battery life. For example, Flash Player can now reduce power consumption by pausing applications running in inactive browser tabs. In the case of background audio playback, execution will continue.
Some significant changes were made to Flash Player 10.1 that changed the architecture of the timer and event management system. Without going deep into the details, the end result is that Flash Player and Adobe AIR applications use significantly less processor resources when the content is on standby and consumes less power during execution. These enhancements are most pronounced on the Mac platform.
Video Playback Enhancements
Hardware decoding, improved buffering, p2p video transmission, multicast and http broadcasting are the majority of improvements in Flash Player 10.1 in terms of video delivery and video playback. For the desktop platform, Flash Player 10.1 allows you to use hardware decoding of H.264 video to provide smoother playback and high quality with minimal resource use on all supported operating systems (Windows and Mac OS X using the special Flash Player build - Gala ). Using hardware decoding allows you to transfer the execution of this task from the processor, improving playback speed and reducing the use of system resources.
In addition, dynamic streaming via http protocol (HTTP Dynamic Streaming) expands the delivery options for high-quality live video and video on demand with the ability to adapt the bitrate to the user's channel. This option allows publishers to use the standard HTTP network infrastructure, which improves the reach and quality of services for delivering video based on the MP4 packet standard.
The p2p interoperability features are now available in Flash Player 10.1 thanks to the RTMFP protocol (Real Time Media Flow Protocol) that allows Flash Player to interact in real time. Support for user groups is also implemented, allowing you to transfer messages and data within the group. Application-level broadcasting allows you to organize one-to-all broadcast of a live stream, for example, to create audio / video chats.
Improvements in RTMP broadcasting and buffering capabilities significantly improve video playback for Flash Player users. The connection recovery available for RTMP streams allows you to continue playing using the buffer even if the connection is interrupted. When the connection is restored, the stream resumes playback. Developers can add stream reconnection logic in ActionScript to reconnect to the server in case of network problems.
The new smart rewind system allows you to achieve the capabilities of digital video players (DVR). Smart rewinding allows the user to rewind using the new back buffer, so viewers can easily rewind the video back or forward without asking the server, which significantly reduces the time of rewinding. Smart rewinding can speed up rewinding and realize the effects of slow or fast playback, as well as repeating interesting moments (instant replay) for streaming video. Also, it became possible to specify the delay limit of live video, which allows to accelerate video playback when the delay exceeds this limit by synchronizing the video time for a long playback period.
Multi touch
Many companies have begun manufacturing mobile devices that support this functionality, and not only smartphones, but also tablet-PCs or PCs like HP Touchsmart. With Flash Player 10.1, you can take advantage of the latest equipment and operating systems, with the ability to interact with the user using the new ActionScript 3 API, for Multi-Touch technology and create the ability to interact with several objects at the same time, or to work with basic gestures, such as zooming, scrolling, rotating, zooming, and two-finger tap. Multi-touch may be one of the most important features for developers and designers creating new applications for the Flash platform.
Private browsing
Flash Player 10.1 fully supports the private browsing mode in browsers (when local data is not cached and user activity is not saved) by implementing a compatible private browsing mechanism between SWF and HTML content. Private local objects (LSOs) are traditional local objects (similar to cookies) that are created during private browsing and deleted as soon as the user returns to normal browsing mode. Existing local objects exist during private browsing, but are not available.
Improvements for the Mac platform
Our Mac developers, with the help of the Safari development team, have made significant changes to Flash Player for Mac. Here is an incomplete list of work that we performed for Argo. Firstly, Flash Player 10.1 is a full-fledged Cocoa application (although Carbon support remains for some browsers that need it). Cocoa events are now used, using the Cocoa interface for dialogs, using Core Audio for sound, Core Graphics for print support, and using Core Foundation for text.
One of the improvements we made to support double buffering of the OpenGL context, which improves full-screen playback. We also explored a number of compile-time optimizations using Xcode to improve the overall execution speed of Flash Player on Mac. Rendering performance has been improved through the use of Core Animation. For Mac computers using Mac OS X 10.6 or later, it is possible to use hardware acceleration in Core Animation to increase the efficiency of displaying web pages that combine both SWF and HTML content. The overall increase in Flash Player performance for Mac users will increase video playback speed and more efficient use of the processor.
In my opinion, the Flash Player development team has made pretty good steps to improve the player, and perhaps the moment will come when the developers come to Steve Jobs and, as he said, show a well-working Flash Player.