A Look Inside Flash Player 10.1
Adobe promises more stability and better performance for Flash on the Mac, but for now, only Windows gets hardware acceleration

Last week, Adobe announced that the third leg of its multi-faceted move toward dynamic streaming of H.264 HTTP content, complete with persistent encryption, was complete. The release of Adobe Flash Player 10.1 and Adobe AIR 2.0 complete the move.

Sort of.

As previously reported, Adobe's roadmap includes the release of Flash Access 2.0, a digital rights management (DRM) solution formerly known as Flash Media Rights Management Server (FMRMS), to address persistent encryption of content, all the way down to the point at which files would be played on a desktop or mobile device.

"The move from session encryption with RTMP-E in FMRMS, to persistent encryption with Flash Access 2.0 is key" said Florian Pestoni, Adobe's principal product manager of rich media solutions. "Many content owners may choose to download content to AIR-based rich internet applications, for offline viewing. Since Flash Access 2.0 content will play back on Flash Player 10.1 and AIR 2.0, persistent encryption is an important step towards making offline players adhere to licensing and DRM concerns."

The release of Flash Player 10.1 provides the ability to play those bits, but it does not yet provide hardware acceleration for those viewing content on any platform other than Windows. Those on the Mac and Linux platforms will have to wait just a bit longer.

To get further clarification, I spoke with Tom Nguyen, product manager for Adobe Flash Player.

I asked Tom about the difference between hardware acceleration in Flash Player 10.0 and the new Flash Player 10.1, as I remember reading in 2008 that Adobe was adding hardware acceleration across the Flash Player line, regardless of platform.

"Flash Player 10 introduced hardware acceleration for drawing," said Nguyen. "However, it required developers to design content with this feature in mind, and many graphics cards were not yet compatible with it."

"In contrast, the new hardware video acceleration in Flash Player 10.1 can transparently-and often dramatically-accelerate video playback performance for existing H.264 video all over the web," he continued. "With the use of hardware acceleration in Flash Player 10.1, this video will just play even more smoothly without requiring any changes."

"In addition, the video acceleration introduced in Flash Player 10.1 works with hardware across a wide range of devices, ranging from mobile devices to high-end notebooks and desktop computers," he said.

But what about non-Windows devices?  Nguyen said it's coming, at varying speeds for varying platforms.

"We are continuing to investigate hardware acceleration capabilities for Linux," said Nguyen. "There are currently multiple APIs for video acceleration on Linux, with varying compatibility across different graphics hardware. We want to make sure we have a high-quality solution that works well across a range of devices."

On the Mac platform, Nguyen pointed out that hardware acceleration is available in a preview version of a post-10.1 release, under the name of Gala.

"H.264 hardware decoding on Mac OS X 10.6.3 or higher is currently available on Adobe Labs in the 'Gala' pre-release build of Flash Player," he said.

Nguyen also pointed out that the Flash Player 10.1 for Mac also has additional hardware acceleration for drawing, beyond what was available in Flash Player 10.

"For Macs running OS X 10.6 or greater, we leverage the hardware acceleration in Core Animation to dramatically improve the efficiency of displaying web pages, which combine both SWF and HTML content," he said, noting that more detail can be found at Adobe engineer Tinic Uro's blog. "The overall performance improvements of Flash Player for Mac users will result in faster video playback, more efficient CPU utilization, and greater battery life."

Finally, Nguyen pointed out a few other benefits for Mac-based Flash Player 10.1 users, including stability, which may address some of the perceived shortcomings that Apple's CEO, Steve Jobs, has publicly pointed out.

"Our Mac engineers, with some help from the Safari team, made significant changes to Flash Player for Mac," Nguyen said. "First and foremost, Flash Player 10.1 is a full-fledged Cocoa app (though legacy Carbon support remains for some browsers that require it). We now leverage Cocoa events, use Cocoa UI for our dialogs, leverage Core Audio for sound, Core Graphics for printing support, and use Core Foundation for bundle-style text."

"Mac performance was also an explicit focus for us," he continued. "One improvement we made is the use of a double-buffered OpenGL context for improved full-screen playback efficiency, and we also investigated a number of compile-time optimizations using Xcode to improve our overall execution speed of Flash Player on Macs."

Related Articles
Mobile devices running a variety of operating systems will soon have access to a richer, more interactive web.
Web-based tool makes it easy for beginners to add videos to their sites and blogs.