Flash Player: CPU Hog or Hot Tamale? It Depends.

[Author's note: In early May, Apple opened the API for Adobe to access the GPU for H.264 acceleration from within Flash. Click here to view details and some early test results.]
In part, Steve Jobs stated that the iPad didn't support Flash because it was a "CPU Hog," so Apple used a technology called HTML5 instead. Since the comparative efficiency of Flash vs. HTML5 seemed easy enough to quantify, I endeavored to do so, using YouTube's new HTML5-based player as the test bed. Specifically, I played a YouTube video in the same browser twice, once via HTML5, once via Flash, and measured CPU utilization during playback.

By way of background, HTML5 is a new markup language that eliminates the need for a plug-in like Flash to play video. Instead, the browser supplies the decode capability directly. There is no standard HTML5 codec, however, with Apple Safari and Google Chrome supporting H.264 playback (which is required to play back video on YouTube's HTML5 pages), Mozilla Firefox, Opera's Opera and Chrome supporting Ogg Theora playback, and the 800-pound gorilla supporting neither codec (that would be Internet Explorer). All, of course, still support Flash.

Accordingly, the only browsers that could theoretically play both the HTML5 and Flash pages were Apple Safari and Google Chrome. I say theoretically, because in practice, the Windows version of Safari couldn't play the HTML5 YouTube page. To complete the picture, I also tested Firefox and Internet Explorer using the Flash plug-in. I tested on the Mac using a MacBook Pro (3.06 GHz Core 2 Duo, 8 GB RAM, OS 10.6.2) while testing on Windows using an Hewlett Packard 8710w mobile workstation (2.2 GHz Core 2 Duo system running 64-bit Windows 7 with 2 GB of RAM).

Whither Hardware Acceleration?

I spoke with Adobe during my testing to get their thoughts on the procedures outlined below. During our conversations, they let me know that Flash Player 10.1 should deliver substantial performance improvements over 10.0 because it can use the graphic processing unit (GPU) on some computers for decoding video, a capability generically known as hardware acceleration. According to the Adobe Web Site,

Hardware-accelerated H.264 decoding on Windows desktop, notebook, and netbook systems is supported on some video cards and drivers running on Windows XP, Windows Vista, and Windows 7. These include some recent NVIDIA, AMD/ATI, and Intel graphics cards. The player also supports hardware decoding with hardware such as some Broadcom video decoders.

Please read the Flash Player 10.1 public beta release notes (PDF, 105 KB) to learn about supported hardware and find links to download supported drivers. We recommend updating to install the latest drivers available.

In Flash Player 10.1, H.264 hardware acceleration is not supported under either Linux or Mac OS X. Linux currently lacks a developed standard API that supports H.264 hardware video decoding, and Mac OS X does not expose access to the required APIs. The Flash Player team will continue to evaluate adding hardware acceleration to Linux and Mac OS X in future releases.

To be clear, hardware acceleration was available in 10.0, but only when playing in full screen. With 10.1, it's available for all video playback, and in the tests detailed below, I played the YouTube video within the player interface, not full screen. As the Adobe page says, however, the expanded hardware acceleration will be available on the Windows platform, but not Mac and Linux. Mac users don't despair, however, since other Mac-related enhancements, like support for Core Animation, should boost Mac performance.

Long story short, Adobe claimed that there would be a substantial reduction in CPU utilization on both the Mac and Windows platforms with 10.1. So I ran two sets of tests; one with Flash Player 10, the other with 10.1.

My Procedures

During testing, I followed this procedure:
- Turned off as many background processes as possible
- Updated my graphics card drivers
- Used the same YouTube video for all tests (http://www.youtube.com/watch?v=VJ5KJVCc5C4)
- First, I loaded the page
- Then switched the video to 720p, but left the video playing within the player window (not full screen)
- Then waited until the video completely downloaded (watching the little red bar thingie on the bottom of the player).
- Then I played until about 14 seconds in, waiting until the opening sequence cleared and the real world video began playing.
- Then, I started monitoring and recording the CPU Usage on Windows Task Manager and % Idle on Activity Monitor on a separate computer for 29 data points for each test. Since Task Manager updates once each second, that meant about 30 seconds of testing on Windows. Because Task Manager updates once every two seconds, that means about 60 seconds of video playback on the Mac.
- I used the CPU Usage directly from Windows and subtracted the % idle from Activity Monitor from 100% to derive total CPU utilization on the Mac.
- I rebooted between each test.
- I ran each test at least twice to confirm results.

Browsers Tested

I tried to test the most current versions of all programs on both platforms: Here are the versions.

Windows:

- Apple Safari - Apple has a site called Webkit where you can download beta versions of the Safari browser (http://webkit.org/). Since the improvements in Flash Player 10.1 required the latest version of Safari, I downloaded that version - in Windows, it was 4.0.4 (531.21.10).

- Mozilla Firefox - version 3.6

- Google Chrome - 4.0.249.89 (I tried loading the Beta 5 browser, but it failed several times on this computer).

- Microsoft Internet Explorer - 8.0.7600.16385

- Adobe Flash Player - 10.0.45.2 first, then 10.1.51.95

Macintosh:

- Apple Safari - Webkit version was 4.0.4 (6531.21.10,55180).

- Mozilla Firefox - version 3.6

- Google Chrome - 5.0.307.9 beta

- Microsoft Internet Explorer - 8.0.7600.16385
- Adobe Flash Player - 10.0.45.2 first, then 10.1.51.95

Test Results: Macintosh

Table 1 shows the Macintosh results. Some observations.

Table 1. Macintosh results.

  • With Safari, native playback in HTML5 (at 12.39) was the most efficient alternative, and consumed significantly less CPU than playback via Flash (at 37.41), presumably because Apple uses H.264 hardware acceleration inside of Safari (see here). Flash Player 10.1 reduced playback CPU by 5 CPU % points (from 37.41 to 32.07), or about 14%. Before assuming that Flash is bad, and HTML5 good, please see the Windows results below.
  • With Chrome, playback via Flash and HTML5 were equally inefficient, both much higher than either Safari alternative. This is a head scratcher. I would guess that it means that Google isn't benefiting from hardware acceleration, though I don't know if that's because they "can't" or simply "haven't." Either way, Chrome shouldn't be your browser of choice on the Mac for spending serious time on YouTube.
  • With Firefox, playback via Flash (the only alternative) was slightly less efficient than Safari in Flash, but more efficient than Chrome using Flash or HTML5. Firefox actually slowed down with version 10.1.
I asked Adobe about this and Adobe's Emmy Huang commented “The 3-5% improvement on Safari is what we would expect with Flash Player 10.1 on Safari using Core Animation. Firefox performance however was slightly degraded because Flash Player switched from using QuickDraw to Quartz 2D." Now, on to Windows.

Test Results: Windows

Table 2 shows the Windows results. Some more observations.
Table 2. Windows results.
  • As mentioned, Safari wouldn't play the HTML5 videos on Windows, so I have no Flash vs. HTML5 comparisons there (I tested this on three Windows computer and the HTML5 page wouldn't play on any of them). However, Flash's ability to access hardware acceleration in 10.1 dramatically reduced Safari's CPU consumption from 23.22 to 7.43, a drop of 68%, which really makes you wonder how Flash would perform on the Mac if it could access hardware acceleration.
  • While Chrome's numbers were more efficient on Windows, playback with Flash Player 10.0 was about 24% more efficient than HTML5, while Flash Player 10.1 was 58% more efficient.
  • Version 10.1 also dropped Firefox's CPU utilization by a whopping 73% and Internet Explorer's CPU utilization by 35%.
To these scores, Adobe's Huang added "These results also indicate the strong benefits in performance hardware decoding brings for video playback in Flash Player and other technologies.”

Overall Conclusions:

When it comes to efficient video playback, the ability to access hardware acceleration is the single most important factor in the overall CPU load. On Windows, where Flash can access hardware acceleration, the CPU requirements drop to negligible levels. It seems reasonable to assume that if the Flash Player could access GPU-based hardware acceleration on the Mac (or iPod/iPhone/iPad), the difference between the CPU required for HTML5 playback and Flash playback would be very much narrowed, if not eliminated.

I don't follow the politics of the situation, but after noting significant playback efficiencies in Flash Player 10.1 on the Mac, respected technologist and AnandTech founder Anand Lai Shimpi commented "with actual GPU-accelerated H.264 decoding I’m guessing those CPU utilization numbers could drop to a remotely reasonable value. But it’s up to Apple to expose the appropriate hooks to allow Adobe to (eventually) enable that functionality." So it looks like the ball is in Apple's court.

Overall, it's inaccurate to conclude that Flash is inherently inefficient. Rather, Flash is efficient on platforms where it can access hardware acceleration and less efficient where it can't. With Flash Player 10.1, Flash has the opportunity for a true leap in video playback performance on all platforms that enable hardware acceleration.

Turning full circle, if Anand is right, and I don't doubt that he is, Apple complaining about Flash being a CPU Hog while not exposing "the appropriate hooks" to enable Adobe to access hardware acceleration seems disingenuous at best. To be fair to Apple, though, the iPad related timing was unfortunate, with the bulk of the development work done under the shadow of Flash Player 10.0, which didn't offer hardware acceleration other than full screen on any platform and was clearly less efficient than the HTML5-based approach Apple adopted. Now that Adobe has proven the concept on Windows, perhaps Apple will cooperate with Adobe to make hardware acceleration on the Mac, iPad and future devices happen. If they choose not to, however, they should quit pointing fingers at Flash.

What else? We also learned that not all HTML5 browsers/H.264 decoders are created equal. Significantly, with Flash 10.1 deployed, Google's HTML5 implementation required the most CPU horsepower of all playback scenarios -- by far -- on the Windows platform. On the Mac, Firefox and Safari with Flash required less CPU horsepower than Chrome's HTML5 implementation.

At least from a CPU utilization perspective, Flash isn't BAD and HTML5 isn't GOOD. It all depends upon the platform and implementation.

Caveats:

Some closing thoughts. I spoke to Adobe about this test methodology because it was mostly a test about Flash. I didn't contact any other companies because the tests are objective and straightforward. At least they seemed so at the time.

I only tested two computers (one on each platform) because of time constraints. Yes, I know, additional data would have been useful. If you think it would be that useful, don't complain to me, run the tests yourself and share the results. Just to be sure to run the Flash 10.1 tests on a device with supported graphics hardware.

If you see a flaw in the test procedures, don't write to complain without:
- documenting new procedures
- testing yourself
- sharing those results.
I'll be glad to retest if there's a flaw (actually, not glad, but I will anyway).

Finally, I understand that in addition to calling Flash a CPU Hog, Mr. Jobs also complained about crashing with Flash. Instability is infinitely harder to test for than performance, so I didn't even try.

Test Notes:

I tried to load Windows on the MacBook Pro so I could produce both OS tests on one hardware platform, but Bootcamp got persnickety and said it couldn't create a Windows partition. I could have reformatted the MacPro, reinstalled the OS and then tried again, but since I had the 8710w all ready to go, I decided to just use it.

I also tested in YouTube's Feather mode, which, according to YouTube, "is intended to serve YouTube video watch pages with the lowest latency possible. It achieves this by severely limiting the features available to the viewer and making use of advanced web techniques for reducing the total amount of bytes downloaded by the browser. It is a work in progress and may not work for all videos." My tests revealed only a very minor difference between Feather mode and normal mode (about 1% either way) so to keep the numbers to a minimum and streamline the results, I showed only those results from Flash mode.

I ran some additional tests on Vimeo, which tracked the YouTube results with Flash Player 10.0. I didn't run the 10.1 tests because I was concerned that the lack of a mode analgous to YouTube's Feather mode might prejudice the results.

For those interested in a comprehensive look at Flash 10 vs. 10.1 video playback performance, click here for a comparison in AnandTech.


Comments (158)

Said this on 3-21-2011 At 07:25 am

@ Do - " I was tested the HTML5 video in vimeo and youtube. CPU usage is very different. "  How about in Vlc? Do you know? Thanks in advance!

Said this on 11-4-2011 At 02:54 am

it also works great in vlc.... 

Ken_K
Said this on 3-10-2010 At 03:20 pm

Hello, Jan,

Very nice analysis ... as far as it goes. But it only addresses CPU usage. I think there is an even more important question for phone and tablet companies. A crucial technical question for small devices is not CPU usage, but battery usage. CPU usage is only one aspect of that. How do Flash and HTML5 compare for battery drain when taking everything into account (cpu usage, gpu usage, and all other overhead issues)? CPU usage is a proxy for battery drain, but why not measure battery drain directly?

This would probably be fairly easy to test, albeit a bit time consuming. I'd think a MacBook with both OS X and bootcamped Windows would be the best way to go, since that would use the exact same battery and hardware. A tester could just stick to the maximally efficient combos (forget Chrome and Flash 10.0, for example). I can’t do that, not set up for it, sorry.

By the way, I'll add that I too think design philosophies are driving the decision as much as the battery drain issue. Flash is unstable and a serious security risk; Apple has no control over Flash's stability or security; and Adobe have repeatedly demonstrated lumbering incompetence, especially on the Mac side, over the past several years, making them extremely untrustworthy partners. Moreover, Flash has its own user interfaces, sometimes bizarro and horrible, sometimes nice. If my company's design philosophy were to include giving customers the peace of mind of stability and security, along with a lean, elegant, unified experience, I'd dump Flash even if it tied or won for battery drain.

There is a real philosophy difference between Apple and the other biggies that most tech folks stop noticing as soon as they get lost in the details. Being adept, tech folks have no trouble with dealing with a thousand kludgy incoherences. It's good to remind ourselves from time to time that Apple really is deeply committed to elegance and simplicity (in the mathematicians' and physicists' sense), even when they miss the mark. I personally don't think they missed the mark by very much with the iPhone.

Said this on 3-10-2010 At 08:49 pm

I personally think the iPod Touch and iPhone are amazing feats of engineering, just astoundingly wonderful products - no disagreement there.

I have to disagree with some other comments. If Flash was truly "unstable and a serious security risk" in any meaningful way, it's inconceivable that pretty much all other phones would support it. Or any other browser, or operating system.

The "lumbering incompetence" comment belies Adobe's success and polish and the true utility of their products, and the professionals who rely on them.

I greatly admire both Apple and Adobe as companies - they are both wonderful success stories and truly excellent at what they do. I use and enjoy using products from both companies. I think we all realize that the situation is rarely as black and white as fanatics on either side present them.

Jan

Dan
Said this on 3-11-2010 At 09:53 am

@Ken_K

In my experience my MacBookPro using bootcamp generally runs out of battery quicker under Win than MacOS, probably due to certain Mac optimizations.

So fair testing of battery drainage would be tricky.

Jez
Said this on 3-10-2010 At 04:22 pm

The point about HTML5 and H264 is they are trying for a standard that does not depend on a single proprietry plugin AKA Flash.  Its not really about CPU cycles.

Also - although H264 itself is licensed it is a heck of a lot better as a compression algorithm than FLV in its two sub-guises - Sorensen Spark and VP6.  (I work in pro video and I spend a lot of time encoding in both formats).

Flash also has a legacy of vector graphics that could be hard to replace - except I know that HTML websites are always better than Flash ones cos they adhere to the same simple principles and don't try and be too Flashy...but then there is advertising which relies on Flash - so I don't know if they have a stake?

There's a reason for HTML.  I don't see the reason for Flash anymore.  It get in the way of a true internet experience.  If it went away then people would find other ways of using the plethora or methods that are already used - plus the hidden power of HTML5.

Then all people would have to do is choose a good browser that supports the new standards - instead of pussy footing around them....

Said this on 3-10-2010 At 08:54 pm

Hmmn. No reason for Flash? Right now, Flash lets me watch Youtube movies in Firefox, and ESPN videos in any browser. If I had a Droid, it would let me watch videos on it. I'll believe in the "hidden power" of HTML5 when I see it. Nothing in my albeit limited tests showed HTML5 to be an elixer for all video-related problems on the internet.

Thanks for weighing in.

 

 

 

 

 

Said this on 3-10-2010 At 05:43 pm

Interesting.  I am pleased Adobe is making inroads into efficiency with 10.1.  My gut feeling is some of this "Apple not allowing access to the hardware" issue (real or not) will diminish in the next major OS X release, when Quicktime X should expand its reach.  Adobe should be able to then use the Quicktime API's to play H.264 video.  That's all guessing on my part, just reading the tea leaves.  If Apple makes that available and Adobe doesn't take advantage, then the blame game goes the other direction.  I do think there are some very good reasons why Apple doesn't allow direct access to hardware.  I'm not eager to sacrifice stability and security just so I can watch video in Flash.  But that's just me.

I'm curious on a few aspects of the test...  Which GPU did you use on the MacBook Pro - the low-power or high-speed chip?  I wonder if there would be much difference there.  Also (as someone above suggested), why not do a Boot Camp test on the MBP?  That would produce a good Apples-to-Apples (heh) test of Mac/Windows.

Said this on 3-10-2010 At 09:10 pm

Sigh - can't believe I didn't list the graphics chip - GeForce 9400N for the Mac, Quadro FX 1600 M on the Windows platform.

I hope you're right and Apple does give Adobe a shot at the hardware.

I tried to load Windows on the MacBook Pro so I could produce both OS tests on one hardware platform, but Bootcamp got persnickety and said it couldn't create a Windows partition. I could have reformatted the MacPro, reinstalled the OS and then tried again, but since I had the 8710w all ready to go, I decided to just use it.

Thansks for your comments.

Jan

james
Said this on 3-25-2010 At 07:42 am

Isn't Mac's GeForce 9400N MUCH weaker than Quadro FX 1600 M?

What I understand that Mac GPU is a low-level card (maybe not a card but integrated in motherboard?) and that Windows GPU is high pro-level card ment for serious graphic tasks - am I right?

Quadro FX 1600 is used with AutoCAD for 3D-works and so on and GeForce 9400 is the cheapest one you can get with the MacBooks?

If I am right it would be interesting to see how a PC would perform with not-so-advanced graphic card because you do say that much of the Flash new video performance is due to hardware support with the GPU.

Said this on 3-25-2010 At 08:17 am

James:

Quadro is the workstation line and GeForce the gamer line, but both of these are notebooks, so it's hard to say that the 1600m "is high pro-level card ment for serious graphic tasks."

In addition, I would guess that most of the difference is in 3D capabilities, not video playback, which has been in GPU chips since the mid-'90s. It's not whether the card is advanced or not, it's whether Flash (or the Mac) can access the GPU to accelerate video playback. If they do, you get an immediate decrease in CPU usage, if not, you get nothing. Basically, you would see very little difference between Flash Player 10 and 10.1. Same is true on Macs without supported graphics cards.

I don't know which chips either technologies support; I'm sure there's a whole lot of computers out there on both platforms that won't get the benefit of GPU hardware acceleration. Going forward though, you'd have to guess that most new chips will be supported.

Thanks for your note.

Jan

Said this on 3-10-2010 At 05:58 pm

Despite what Mr. Jobs may say, the reasons Apple will not allow Flash on it's Phone and Tablet devices are myriad and complex, and have very little to do with how Flash does or does not perform on these devices.  The reasons are well-documented, and have mostly to do with business, not technology.

As an Adobe employee it is not appropriate for me to elaborate at this time.  But you can do your own homework, get some perspective on how Apple has -always- operated, then decide for yourself what's really going on here.

Said this on 3-11-2010 At 09:38 am

Oh, come on Bob, throw some serious dirt around! I need the page views!

:-)

Good to see you coming by.

Jan

SAL-e
Said this on 3-10-2010 At 08:59 pm

Good test and results are quite expected for me. I am not very experienced in Flash or HTML5, but my personal observations are the same. Now I see some problems needing some work:

1. As others commented if you allowed Adobe to see and comment on the test you should do the same for Apple, Google and Mozilla. This is general rule. 

2. You have addressed only narrow aspect of the HTML5 vs. Flash debate. CPU utilization. The problem with Flash are far more serious. First the legacy of Flash. Adobe was a natural monopoly for some time.  During that time they abused their position. Adobe was treating other platforms (Mac/Linux) as second class. Even today Flash on those platforms is beta quality at best. They had and still have many excuses, but most of them are paper thin. For example: Linux don't have standard Video APIs. If the opensource projects (like MythTV or XBMC) with no money can support hardware accelerated video, why flash can't? Or better Linux was the first to support 64bit CPUs, but even today flash don't play nice with Linux 64bit. I don't have direct knowledge on Mac, but I will not be surprised if the same problems exist there. Adobe refused to provide good support for other platforms until MS introduced Silver Light. Now Adobe wants to be on every device, but they need to work really hard to restore the trust.

3. The biggest problem I have with flash (disabled by default with NoScript) is the fact that flash allow web master to track me with cookies and other technics without providing any interface for me to control my privacy and security. Also Adobe for many years was ignoring or delaying security fixes with one simple excuse. "It cost us too much, so the customer loses". They sided with aggressive advertisers and try to force intrusive ads with no way for me to control this.

So the HTML5 is direct response to Adobe's monopoly abuses.

Best regards,
SAL-e

PS. I really hope that Adobe sees the light and provide free and full access to Flash Protocol's and really becomes open standard that compliments HTML5 on the end.

Jan
Said this on 3-10-2010 At 10:07 pm

Good points. As I explained, I contacted Adobe because I was primarily testing Flash. Haven't heard from the other companies but would welcome their input.

Thanks for sharing your thoughts here.

Jan

 

tloop
Said this on 3-23-2010 At 07:40 am

I agree. I don't like the idea of a closed privately owned proprietary system cornering the market on web video. I put flash right up there with ms active x controls. 

Smithy
Said this on 3-10-2010 At 09:45 pm

Safari on Windows does the HTML5 video for me just fine, with the lowest CPU usage of the other Windows setups.

Did you have Quicktime installed?

Paul
Said this on 3-13-2010 At 10:09 am

I don't think it depends on QT. I disabled plugins in Safari preferences and I can still play html5 video.

You can try it out yourself in the Safari welcome page, even with plugins disabled the animation and background music still play.

http://www.apple.com/safari/welcome/

Jan
Said this on 3-13-2010 At 11:31 am

Hey Smithy:


Thanks for writing. Not sure what you mean - if you did such extensive tests, it would be great if you would share details like  - software versions, OS, CPU, graphics, HTML5 file that you played, Flash Player version and the like. Otherwise, it's tough to really know what you did.

I'm not the only one having trouble with YouTube and HTML5 and Safari:

http://www.google.com/support/forum/p/youtube/thre...

And yes, I had QuickTime installed - it was a totally fresh Windows 7 install with QT downloaded and installed within three days of the test.

Thanks again.

Jan

Jan
Said this on 3-10-2010 At 10:03 pm

Hey Smithie:

Thanks for weighing in. Yeah, I had QuickTime installed. Perhaps you could share details like computer, OS, browser versions, the test you ran, graphics card and the like. That might give me some perspective to understand your results.

Thanks.

Jan

Norton
Said this on 3-10-2010 At 10:08 pm

Obviously the reasons why there's no Flash on the iPhone/iPad are both pragmatic and strategic for Apple. If I were Apple, I wouldn't trust Adobe either - a company who once thought of ditching the Mac platform completely, and had been sitting on their collective behinds with Flash performance. It's all well to say oh c'mon Apple, give Adobe the "hooks" necessary. I'm sure not all of my Flash woes are because of h.264 playback. Flash in general - even for stupid ad loops - consumes way too much processing power.

Not all is gone for Adobe. As dominant as Apple is at the moment, competing devices are the ones that would either make or break Flash. If all other 50 tablets, dozens of smartphones coming on to the market this year all run Flash fast and well, there will be little reason for Apple to say otherwise. OTOH, if Flash does indeed perform poorly, then it's good-night.

Performance on Mac and Windows desktops are a moot point in the end. My view is Flash (not so much as a video player) in general will be where it should be - a fantastic addition and enhanced experience, but optional. Get rid of all those Flash only web sites and everyone will just get along fine.

Jan
Said this on 3-10-2010 At 10:24 pm

Hey Norton:

Thanks for weighing in. This issue has become pretty high profile and I think lots of folk will be watching and measuring. Should be interesting. 

Thanks again.

Jan

Said this on 3-11-2010 At 02:11 am

I think another reason for Apple's unwillingness to allow Flash has as much to do with UI and Business reasons.   Putting Flash (or Java for example) allows an application to run on the platform in a way that Apple does not control.  

If one allows an app to be loaded through the Browser, you completely bypass Apple's App Store.   It would not have to follow Apple's "exacting/changing" standards because they cannot stop it from being added to the phone.  

I'm sure there are many reasons, valid and invalid, good and bad.  It's a shame that they call "can't get along", so I'm going to hope that someone reverse engineers Club Penguin in HTML5/JavaScript so my son can play it on my iPhone :-).   

Said this on 3-11-2010 At 02:24 am

I am totally agree that Apple want a full control over Flash source code in order to use it on their devices.

Said this on 3-11-2010 At 09:47 am
Definitely part of it. Remember, though, that Apple had a very legitimate beef with Adobe before 10.1, which is still in beta. Apple's CTO admitted that on the same computer, the Mac required twice the horsepower of Windows.

Here's the quote:

Video rendering is an area we are focusing more attention on -- for example, today a 480p video on a 1.8 Ghz Mac Mini in Safari uses about 34% of CPU on Mac versus 16% on Windows (running in BootCamp on same hardware). With Flash Player 10.1, we are optimizing video rendering further on the Mac and expect to reduce CPU usage by half, bringing Mac and Windows closer to parity for video.
http://blogs.adobe.com/conversations/2010/02/open_...

Where the fault lies, I have no idea. Either way, those facts alone, if I was Jobs, would make me very pissed at Flash. Now Adobe appears to have a solution to at least some of the problem; we'll see if Apple responds.

Thanks again for sharing your thoughts.

Jan
Said this on 3-11-2010 At 02:30 am

This is an interesting topic. There are plenty of reasons to use HTML5 outside of Flash, and I think that has to do with the internet being free- "free" like beer AND "free" like speech. HTML5 represents a way forward without proprietary codecs and is actually rather efficient considering how little time it has actually had in terms of wide-scale testing.The problem with it is the use of h.264. If you were building a free web, why would you base one of the new elements on a standard that is wholely owned and could potentially be made such that users have to pay money?

I have no idea if there is a serious risk of MPEG-LA making people pay per use of h.264, but that's a more serious concern of mine.

Flash and Silverlight offer a lot more than simple video playback, and as long as they reasonably efficient, the fact is that they can be made to offer playback of many, many video formats, which actually makes them far more flexible than HTML5. If all of a sudden, it cost money to distribute h.264 videos, then Flash or Silverlight could be recoded to play OGG/Theora or similar open source formats. Meanwhile, HTML5, when (if) it accepts one format as the standard for HTML5 <video> playback will be rather stuck.

In the end, Flash is more dangerous as a vector for viruses than it is for really chewing up your system...unless you're on a Mac. In which case you really should just unistall it, rather than block it.

Said this on 3-11-2010 At 09:29 am

Alex:

Interesting thoughts.

>>If you were building a free web, why would you base one of the new elements on a standard that is wholely owned and could potentially be made such that users have to pay money?

  • Because it's free now and for the next five years (to the publisher),
  • Offers the best quality,
  • is very well integrated into all encoding tools (so is easiest to encode)
  • Plays everywhere (devices, computers, browsers, etc).

I think the questions is, if you own a web site and you're trying to make money from the web (gasp! the horror!) why would you use any other format?

Just MHO, of course.

Some other articles on this:

http://www.streaminglearningcenter.com/articles/xi...

http://www.streaminglearningcenter.com/articles/og...

Jan

 

azerty
Said this on 3-11-2010 At 04:19 am

For those unfamiliar with both platforms, OS X measures CPU usage such that "one core = 100%", while Windows measure CPU usage such that "all available cores = 100%


Did you multiply by 2 your windows numbers or divided by 2 the OSX numbers accordingly ?

Said this on 3-11-2010 At 09:22 am

Thanks for your question. Here's how I explained it above, in the article.

Then, I started monitoring and recording the CPU Usage on Windows Task Manager and % Idle on Activity Monitor on a separate computer for 29 data points for each test. Since Task Manager updates once each second, that meant about 30 seconds of testing on Windows. Because Task Manager updates once every two seconds, that means about 60 seconds of video playback on the Mac.

- I used the CPU Usage directly from Windows and subtracted the % idle from Activity Monitor from 100% to derive total CPU utilization on the Mac.

Hope that helps.

Jan
Tobstr
Said this on 3-11-2010 At 05:58 am

hi,

it would also be interresting on a device without or poor hardware acceleration. Because many smaller devices, missconfigured systems and thin clients dont have the same abilities. 

And see how both perform with no hw-accel at all.

I would be html5 is much faster then.

Said this on 3-11-2010 At 09:32 am

Perhaps, down the road, but on the Mac, where no browser could support hardware acceleration other than Safari, FireFox and Safari running Flash were both more efficient than Chrome running HTML5, and the difference in Chrome between HTML5 and Flash was insignificant. So the facts (limited as they are) don't support your assumption.

Thanks for weighing in.

Jan

Jez
Said this on 3-11-2010 At 07:14 am

HTML5 can surely support as many codecs as it likes? 

There is no reason to use Flash play a video.  That is the whole point of HTML5.  The browser does it directly.  Flash can still be used - but people should be allowed to choose whether they use Flash or not - just like they choose a browser or an OS or a pair of socks

Said this on 3-11-2010 At 09:33 am

Thanks for weighing in.

Jan

Said this on 3-11-2010 At 08:19 am

I'm a non-technical guy who posts video on the web. And, while my experiments with html5 have been relatively successful (<a href=http://isoc-ny.org/?p=1338>example</a>) I have found a couple of limitations with it: 1) a comparatively limited set of parameter choices 2) lack of custom players 3) chrome doesn't give a full-screen option (only tested in Win7). I don't think many publishers, certainly those with less tech capability than a YouTube or a Vimeo, will be in a rush to make the jump.

That said. the latest theora encoder - I upgraded on your recommendation - seems to work well!

Altogether it indicates a long period of frustration for the iPhone etc users. How likely is it that they'll all be using a chrome app for web surfing in the near future? And if Apple blocks it, the DoJ will get on the case?

Said this on 3-11-2010 At 09:35 am

Hey Joly:

Good to see you back.

I think HTML5 players are coming - see http://jilion.com/sublime/video.

Until then, it's javascript.

Good questions about Apple and Chrome or the DOJ, but I have no idea.

Jan

Said this on 3-11-2010 At 08:21 am

oop! forgot the html button!

example

pk de cville
Said this on 3-11-2010 At 09:51 am

Flash, on Mac, has always been Adobe's bastard step child...   

I run ClicktoFlash for protection on my 13" 4GB MacBook Pro, with the latest system, safari, and adobe flash sw.

I can click on any Flash window, bring it up and watch whatever's there. Why do I control Flash this way?

Before ClickToFlash, my machine would endlessly spin beachballs driving me nuts! I now have one or teo beach balls a week. Do you think this might be Adobe's problem? I do.

I'm astounded you never reported on the beach balls during your tests.

Said this on 3-12-2010 At 09:13 pm

Hey Pk:

I tested only YouTube, who's Flash usage seems pretty benign. Didn't see any beachballs.

Thanks for weighing in.

Best.

Jan

 

Arnaud
Said this on 3-11-2010 At 10:58 am

I just tested HTML5 vs Flash with firefox 3.5.5 on Linux on dailymotion website (not H264 video). Flash player take around 10% CPU more than HTML videos...

Said this on 3-12-2010 At 09:16 pm

Hey Amaud:

Not sure what you tested - was it HTML/Ogg vs. Flash/H.264? Which Flash Player? I don't think Flash can access hardware acceleration on Linux so these results aren't surprising, but it would help to know a few more details. 

THanks

Jan

Said this on 3-11-2010 At 11:14 am

Turning full circle, if Anand is right, and I don't doubt that he is, Apple complaining about Flash being a CPU Hog while not exposing "the appropriate hooks" to enable Adobe to access hardware acceleration seems disingenuous at best.

That's the crux, but I'm not so sure it disingenuous.  Apple has always said to Adobe and maintains, "you are not allowed the deep access you are asking for, find another way."

Said this on 3-12-2010 At 09:20 pm

Good thought, thanks for sharing. I'm just not privy to that level of discussion between the companies nor technically strong enough to understand why Adobe can't access the hardware. I just trust Anand and go with his thoughts. 

Thanks again for writing in.

Jan

operakt
Said this on 3-11-2010 At 12:25 pm

Interesting testing, Jan, but I just needed to ask you about why/how you could test HTML5 video performance by mentioning Opera -- once -- and then, not testing it...?  Huh?

Let's see...it's ONLY the fastest, most conforming browser on the planet, now and since it's been available 15 years ago.  100 on Acid3, only 78 failures in Sputnik and smokes every other browser on Windows, Mac, and Linux in ECMA, CSS, SVG, DOM and general loading benchmarks...

Good one...very professional.

Said this on 3-12-2010 At 09:22 pm

Hey Operakt:

Hmm, judging from your handle, you might be a bit biased.

:-)

I went solely on market share an name recognition, probably my bad. I'll try to give it a whirl next time I test this sort of stuff, which won't be that far off.

Thanks for writing in, and the complement.

Jan

 

 

 

Mihaly
Said this on 3-11-2010 At 02:41 pm

From the tests it is obvious that Safary on Mac OS X uses hardware acceleration.

And that API is not public (nobody contradicted this until now).

So: "Apple uses undocumented APIs that allowe its developers to write programs that work better with Mac OS X than competitors". Isn't this what landed Microsoft in trouble few years ago?

Is the law for Apple different than for Microsoft?

Said this on 3-12-2010 At 09:24 pm

Good comment. The law actually is different for Microsoft b/c of its monopolistic position (at least I think I remember that from Antitrust law). Still, you'd think there would be more of an outcry about this.

THanks for writing in.

Jan

Said this on 3-11-2010 At 03:06 pm

Very good to see some actual experimental results on this topic!

A few open questions:

 

1.  Have you verified that your hardware is using hardware acceleration in Safari?  I understand the list of accelerated graphics GPUs is very short (but will grow - for all users of the CoreVideo APIs - as Apple supports newer GPUs).

2.  When comparing across OSes, are the "%CPU" times reported really equivalent?  I mean, the different kernels have very different ways of slicing up CPU time, and I suspect that how they report it will vary as well.  I'm not positive that "7%" under Windows is necessarily more efficient than "12%" under OS X.

3.  Setting up Bootcamp should be easy and straightforward.  For me, I hit the same message when installing Windows on a MacBook Pro; I already had a Time Machine backup, so just had the backup refresh, then told BootCamp to go ahead with the destructive partitioning.  The backup restored in about 15 minutes, which was substantially less time than Windows required to install itself.  If I hadn't had a complete Time Machine backup (but had a spare external drive), the whole process would have taken about two hours, including backup, repartitioning, Windows install, and Time Machine restore.  As it was, I was done in less than one.  Probably water under the bridge, but you might get more useful numbers on the same hardware.  On the other hand, Apple's Windows drivers aren't necessarily the best (they really have no reason to be), so maybe using an "equivalent" HP is good ...

4.  Are the HTML5 and Flash H.264 payloads identical?  I suspect they are, but it would be nice to verify that YouTube is serving the same H.264 stream to the two clients.  Obviously, if they "optimize" the stream for the different clients then the comparison between the two doesn't hold much water.

As for Flash being insecure and crashy, there are numerous known security holes in Flash.  See http://mac.blorge.com/2010/03/02/the-main-thing-is-not-to-install-flash-says-hacker-miller/ for example.  Crashiness?  Well, opinions there apparently vary, but my experience with Flash on multiple Macs has been very negative: the only times my Macs crash are when a Flash video is playing.  As a result, I block Flash in all my browsers unless there's something I absolutely need to view.

 

Said this on 3-12-2010 At 09:33 pm

Hey Tom:

You raise some good points = most of which I don't konw the answer to - perhaps you can help track them down.

1. Here's the GPU on the Mac - NVIDIA GeForce 9400M - don't know if it's on the list or not.

2. I have no idea how the % CPU might vary - I really wasn't comparing Mac vs. Windows performance, or at least I tried not to. I was more concerned with HTML5 vs Flash on the same computer.

3. You saw what I wrote about bootcamp -- I cleaned off my hard disc so I was using less than 100 GB out of 500 and didn't feel confident that the same thing woudln't happen if I did start over. The Windows computer had a totally fresh Windows 7 install and, as I said, I really wanted to shy away from Mac vs. Windows performance.

4.  Payloads question is a good one - not sure how to download from Youtube - I use download helper with Foxfire which obviously wouldn't help me for this one. I mention which video it is - why don't you give it a shot and let us konw if they're the same.

The other stuff - as i mentioned, I have no comment on security or stability - I just tested the performance issue.

Thanks for your thoughts.

Best.

Jan

Synthmeister
Said this on 3-11-2010 At 07:58 pm

Is video playback the real problem with Flash? Is Isn't the real problem with Flash runtimes? Isn't that where all the CPU and battery sucking demons rear their ugly little heads on computers and especially on mobile devices? 

And you also forget the history of Apple and Adobe. Back in the 90s, an Adobe exec was on record recommending PCs instead of Macs for Photoshop, even though PS began as a Mac program. Tacky, tacky. And Premiere lacked firewire support forever, which is one reason why Final Cut and iMovie were created, much to the eventual chagrin of Adobe. Oh yea, and when did Adobe finally deliver an OS X version of Photoshop? This coming summer, only about nine years too late.

Apple learned the hard way back in the 90s that it couldn't let any strategic part of it's products be controlled by another company. Back then, Apple was almost completely at the mercy of MS/Office, Adobe/Photoshop/Illustrator and Avid/Media Suite support to allow the Mac to succeed. That's why Apple has churned out more and more of its own software (iLife, iWork, Aperture, Final Cut) or used open standards software (webkit, AAC, HTML 5, h.264, Apache) to showcase its hardware. Now that Apple has a premium mobile device, it has no intention of being dependent on Adobe for a strategic part of the user experience. Sure Adobe might optimize Flash this year, but what about the next time Apple makes a major OS overhaul? Do you think they want to have to wait on Adobe, or anyone else, to optimize their code to work right on Apple's latest gizmo, OS or browser?

Said this on 3-12-2010 At 09:46 pm

Hey Synthmeister:

I have no issue with what Apple's doing - it's their platform. I just wanted to test whether Flash was a CPU hog and whether HTML5 was the panacea everyone seemed to assume that it was. I would absolutely love to hear anyone from Apple say "we're not using Flash because strategically, we'd rather rely on our own technology and also feel that not supporting Flash lets us maximize revenues from our Apple store."

But it's easier to just trash Adobe and quite honestly, there's enough historical truth in Apple's claims to allow them to pass the sniff test. But it feels like with Flash 10.1, Adobe is making great strides, and HTML5 is also pressing Adobe to improve Flash quickly. 

So we'll see. Android obviously sees Flash as a competitive advantage and Flash enabled phones vs iPhones is shaping up to be a pretty interesting battle going forwards.

Thanks for writing in.

Jan

Post a Comment
* Your Name:
* Your Email:
(not publicly displayed)
Reply Notification:
Approval Notification:
Website:
* Security Image:
Security Image Generate new
Copy the numbers and letters from the security image:
* Message: