Adobe Flash: A Look At Browsers, Codecs, And System Performance

System Limitations

Drivers

Adobe only provides the hooks into its API for graphic vendors to take advantage of H.264 decoding in Flash. Drivers are as important as the version of the software. They represent two sides of the same coin, which need to work together to get hardware acceleration to work.

Overall, we found no driver problems at any of the resolutions tested. Everyone is in the clear except for specific Intel- and Broadcom-based configurations. For whatever reason, unfortunately, the issues we originally reported in our Fall 10.1" Netbook Roundup still exist.

There are situations where we see the 3.5.0 driver break support, and at this time, we advise anyone using a Broadcom Crystal HD-powered netbook to fall back to the driver recommended by your notebook manufacturer. We have tangentially heard that there was a bug in version 3.5.0, but Broadcom has not responded to requests for confirmation.

Swipe to scroll horizontally
Settings: Aero EnabledPlayback: IE8, YouTube 1080p, WindowedCPU Usage:Hardware Acceleration DisabledCPU Usage:Hardware Acceleration Enabled
Asus UL20ACore 2 DuoGMA 4500MHD60%35%
Dell Vostro 3300Core i3-340MHD Graphics19%17%
Asus eeePC 1215TAthlon II Neo K125Mobility Radeon 422591%72%
Asus eeePC 1215N Atom D525Ion252%15%
Lenovo ThinkPad T510Core i5-540MQuadro NVS 3100M15%8%

I feel I should clarify that Broadcom's Crystal HD solution is excellent for multimedia-hungry consumers that have video files on their hard drives. However, when you consider that a Broadcom Crystal HD-based netbook costs at least 50 bucks more than budget-oriented netbooks, and just falls short of the prices we see on premium options like the Asus 1215T (Nile) and 1215N (Ion 2), we expect that extra dough comes with a working driver set.

For those folks who just want to play video files on their computer, netbooks with Broadcom's Crystal HD are an excellent choice, giving you the battery life benefits of using integrated graphics with a bit more video horsepower. If you are expecting the hardware to help you with Hulu, YouTube, and other Flash-based sites, you are taking a bit of a gamble. And remember that Crystal HD is another piece of hardware that eats power. In our own internal tests, we get an extra 30 minutes out of the Dell Inspiron Mini 10 when we disable Crystal HD entirely.

Aero

If you aren't already familiar with Windows 7's Aero Glass, you might be missing out on some cool visual cues. For systems equipped with Crystal HD and Intel's GMA 500, Adobe recommends running Windows 7 with Aero enabled. Why? Because apparently, there are additional driver hooks that become available to the system. This has to do with the unique architecture associated with both decoders.

But why does this apply to only GMA 500 and not Intel's other integrated graphics products? This has to do with the fact that the GMA 500 is like no other Intel product. Instead of being developed in-house, the GMA 500 is designed around a PowerVR SGX 535 core licensed from Imagination Technologies.

Unfortuantely, it's somewhat ironic that systems that typically come with Crystal HD or GMA 500 (Atom Z5XX-series) also ship with Windows 7 Starter. Moreover, they usually come armed with just 1 GB of memory. This means you can't actually enable Aero in these systems. As a result, we have not been able to test out Adobe's recommendation. Regardless, if the benefit does exist, a vast majority of customers that have either of these two configurations cannot tap into this performance enhancement anyway.

Swipe to scroll horizontally
Settings: Playback: IE8, YouTube 1080p,Windowed, Hardware Acceleration EnabledCPU Usage: Aero EnabledCPU Usage: Aero Disabled
Asus UL20ACore 2 DuoGMA 4500MHD35%30%
Dell Vostro 3300Core i3-340MHD Graphics17%11%
Asus eeePC 1215TAthlon II Neo K125Mobility Radeon 422572%46%
Asus eeePC 1215N Atom D525Ion215%14%
Lenovo ThinkPad T510Core i5-540MQuadro NVS 3100M12%8%

We're kind of puzzled as to why enabling Aero would actually benefit the system beyond some sort of exposure of additional driver hooks in WDDM or forcing the use of part of the graphics pipeline. If anything, one would think that enabling the more complex Aero interface would slow down the system. Our suspections are right for the most part. There are small variations across systems, depending resolution and enabling enabling full-screen Flash playback. However, for the most part, we do see an increase in CPU usage when you enable Aero.

Multi-Instance Decoding

There is another usage model we feel it's important to mention (since nobody else has discussed multi-instance decoding). Why? Consider your everyday browsing experience. Your desktop environment might look something like the image above. As you can see, this desktop has three windows open. In the background, IE8 is open to YouTube, CNN, Google News, Adobe, Weather.com, and Amazon. In the corner, I have a H.264 trailer open while typing in Word 2007. Any tab where you have a H.264 Flash-based video paused counts as a single processor thread of hardware decoding. Any video player playing H.264, MPEG-2, VC-1, or any other codec supported by your GPU's fixed-function hardware decoder counts as another thread.

We know for a fact that Broadcom's Crystal HD video processor is single-threaded. You can’t accelerate Flash and H.264 at the same time, which isn’t really a problem for most mainstream folks. The first content detected is able to open a thread on the Crystal HD processor. The second, third, and fourth are passed off to the CPU. Keep in mind this means you can't have a browser open on a Flash-based Web site and then open up a H.264 video and expect it to be accelerated by Crystal HD. We ruled out a bandwidth/processing load issue on the Crystal HD processor, because even if you pause the first content instance, the thread is still open. As a result, all subsequent content opened cannot utilize Broadcom’s multimedia processor. There are other problems with this specifically relating to Broadcom's latest public driver, which we went over in our Fall 10.1" Netbook Roundup.

Swipe to scroll horizontally
Playback: H.264, 1080p trailer, 13 Mb/sWindowedAero EnabledCPU Usage: VLC v.1.1.5CPU Usage: WMP 12.0.7600.16667
Asus UL20ACore 2 DuoGMA 4500MHD38%3%
Dell Vostro 3300Core i3-340MHD Graphics21%17%
Asus eeePC 1215TAthlon II Neo K125Mobility Radeon 422599%24%
Asus eeePC 1215N Atom D525Ion236%8%
Lenovo ThinkPad T510Core i5-540MQuadro NVS 3100M12%3%

Based on our conversation with Adobe, we strongly suspect a similar situation with GMA 500. However, all the systems included in our case study do not suffer this problem. Keep in mind we only tested a H.264 Flash video (YouTube 1080p), along with a H.264-based video trailer. Why is this limited to Broadcom's Crystal HD (and possibly GMA 500)? Well, it goes back to the GPU architecture. The fixed-function decoders that Intel, AMD, and Nvidia have designed are capable of handling at least two threads and processes simultaneously (we hear Sandy Bridge can accelerate 12 or more HD streams concurrently).

We were unable to test out more than two H.264 streams because VLC v.1.1.5 doesn't seem to take full advantage of hardware decoding, as it "does decoding in GPU at the decoding stage only and then gets the data back to go to the other stages." Furthermore, while you can open multiple windows of VLC, you cannot with Windows Media Player, so we were restricted to testing two H.264 threads and processes.

  • Scott2010au
    Notify Mozilla - they care!
    Reply
  • Tamz_msc
    Detailed and interesting article.
    Reply
  • Another interesting article they should do in regards of flash is games/applications in flash vs java and other methods. I know a majority of the flash games that are on facebook have a tendency to put netbooks into a crawl whereas other methods perform a lot better. Also, an article on how to possibly improve flash performance on netbooks would be a really useful article as well.
    Reply
  • reprotected
    This article should have not been released. Now Apple, Chrome and Opera is going to race against Firefox and IE for the best flash playing browser. MORE HYPE!
    Reply
  • What about performance of flash in different operating systems. For example speed in Ubuntu and Windows?
    Reply
  • acku
    What about performance of flash in different operating systems. For example speed in Ubuntu and Windows?

    Installing Flash in Ubuntu isn't straight forward unless you are on the 32-bit version. I hear 64-bit is a nightmare. And I'm talking about the official version. That says nothing about the poor performance of Gnash and swfdec. Now there is nothing wrong with using Linux, but it wasn't intended for that type of usage. I code in Linux occasionally. That said, we might look into it down the road.

    Can you clarify what you mean by speed comparisons? I'm not sure I follow. Video is video. Regardless of operating system, the difference is going to be performance overhead.

    Andrew Ku
    TomsHardware
    Reply
  • What baffles me is the frame rate drop in full screen mode on Chrome/Safari/Opera.

    And it would be very interesting to see results on a Mac.
    Reply
  • acku
    UmrathWhat baffles me is the frame rate drop in full screen mode on Chrome/Safari/Opera.And it would be very interesting to see results on a Mac.
    Yeah, we only can speculate as to why that is for those three. There defiantly is something going on. As for Macs, point taken I'll be sure to address that in the future.
    Reply
  • randomizer
    9507892 said:
    Installing Flash in Ubuntu isn't straight forward unless you are on the 32-bit version. I hear 64-bit is a nightmare. And I'm talking about the official version.
    The 32-bit version works fine on 64-bit Linux, you just need to install the 32-bit libs. Flash player 10.2 beta has a 64-bit version I believe, and it doesn't need to pull in all those extra dependencies. I've used it on Arch Linux without an issue. Hopefully 10.1 officially gets replaced soon :)

    9507892 said:
    That says nothing about the poor performance of Gnash and swfdec.
    Gnash is an admirable project, but it's too far behind Adobe's Flash player to be relevant. I don't think it even works with some more recent videos.
    Reply
  • acku
    9507895 said:
    The 32-bit version works fine on 64-bit Linux, you just need to install the 32-bit libs. Flash player 10.2 beta has a 64-bit version I believe, and it doesn't need to pull in all those extra dependencies. I've used it on Arch Linux without an issue. Hopefully 10.1 officially gets replaced soon :)

    Gnash is an admirable project, but it's too far behind Adobe's Flash player to be relevant. I don't think it even works with some more recent videos.

    https://help.ubuntu.com/community/RestrictedFormats/Flash#Flash%20for%2064-bit%20%28x86_64%29
    While 64-bit Flash for linux is still beta, Ubuntu mentions that it provides
    # Greater stability
    # Greater speed and performance
    # Fewer dependencies to install

    over using 32-bit Flash in 64-bit Ubuntu. I haven't tried it myself, so I can't say for sure. I'm trusting Ubuntu's internal tests on this one.

    We're of the same mind on gnash.

    Andrew Ku
    TomsHardware
    Reply