Apple iPad, the Cupertino-based company's shunning of Adobe Flash technology has been brought to the forefront of technological discussions. While it was one thing to forgo Flash on a small, mobile device such as the iPhone or iPod Touch, some are questioning whether lack of Flash support is going to be a make-it-or-break it feature for the new slate devices arriving next month - devices which, if you believe Apple CEO Steve Jobs - are "better than netbooks."With the impending launch of the
On the flip side, Apple supporters echo the company's sentiments that "Flash is a CPU hog" and including support for the technology in Apple's mobile line-up would negatively impact battery life.
However, recent tests have put Flash up against HTML5, the new web markup language that eliminates the need for the Adobe plugin. The results of these tests show that this is not a simple black-and-white issue. Is Flash really a CPU hog? Yes, in some cases. But, surprisingly, not all the time. In fact, sometimes HTML5 actually performed worse.
Testing Flash and HTML5
Jan Ozer is an expert in video encoding technologies, has worked in digital video since 1990 and is the author of 13 books related to the subject [Editor's Note: some people have pointed out that Ozer has done seminars and written books featuring Adobe products, so therefore he makes money from the success of Adobe Flash. We don't think that has any effect on the test outcomes, but we thought it was worth updating the post to note it.] Recently, he put HTML5 up against Flash in a series of tests that pitted the two technologies against each other on both the Mac and PC and in different web browsers including Internet Explorer 8, Google Chrome, Apple Safari and Mozilla Firefox.
The results of the tests in their entirety are published here on StreamingLearningCenter.com. The summary in a nutshell? Flash isn't always a CPU hog, sometimes that honor goes to HTML5.
Some of the highlights of Ozer's findings are below, broken up into both Mac and Windows test results.
- With Safari, HTML5 was the most efficient and consumed less CPU than Flash using only 12.39% CPU. With Flash 10.0, CPU utilization was at 37.41% and with Flash 10.1, it dropped to 32.07%
- With Google Chrome, Flash and HTML5 were both equally inefficient (both are around 50%)
- With Firefox, Flash was only slightly less efficient than in Safari, but better than in Chrome
- Safari wouldn't play HTML5 videos, so there was no way to test that. However, Flash 10.0 used 23.22% CPU but Flash 10.1 only used 7.43% CPU
- Google Chrome was more efficient on Windows than Mac. Playback with Flash Player 10.0 was about 24% more efficient than HTML5, while Flash Player 10.1 was 58% more efficient than HTML5.
- On Firefox, Flash 10.1 dropped CPU utilization to 6% from 22% in Flash 10.0
- In IE8, Flash 10.0 used 22.41% CPU and Flash 10.1 used 14.62% CPU
Hardware Acceleration Key to Flash Performance
In analyzing the results of the tests, Ozer determined that the key to better Flash performance was dependent upon whether or not it could access hardware acceleration. This feature, launched in Flash 10.1, allows the plugin to use the graphics processing unit (GPU) on some computers to decode video. Depending on the video card and drivers, (NVIDIA, AMD/ATI and Intel offer products that support this), the video decoding process in Flash 10.1 can now work for all video playback, not just full-screen playback as was available in Flash 10.0.
According to Adobe, hardware acceleration is not supported under either Linux or Mac OS X, the latter because Mac OS X does not expose access to the required APIs. Adobe goes on to say "The Flash Player team will continue to evaluate adding hardware acceleration to Linux and Mac OS X in future releases."
Here's what this all means in layman's terms: Apple isn't allowing Flash to become more efficient on their Mac OS X/Safari platform (or their iPod/iPhone/iPad one, either) by not providing the access to the hardware it needs to reduce its CPU load. Adobe is waiting and watching to see if they do, but, as Ozer says "the ball is in Apple's court."
Will Apple budge? At this point, it's unlikely. In blocking Flash on Apple devices, the company can easily claim that it's simply not an efficient technology...and that's true for now, considering how it's set up. But if the company wanted to allow it and make it work, it seems reasonable to believe that they could. This is what leads some insiders to believe that the decision to block Flash is less of a technological one and more of a business-minded one. After all, if you could easily visit Hulu.com to stream TV shows and movies, then why would you need to buy them from the iTunes Store?
So while Flash's "CPU hogging" may be a contributing factor in Apple's decision to not support the technology on their mobile devices, that's probably not the only reason behind the block.
Thank you to Dan Rayburn, who pointed us to Jan Ozer's article.