Flash/Hulu on ION: Nearly Perfect

I dusted off ASRock’s ION system based on the Intel Atom 330 (dual-core 1.6GHz Atom) processor for the first part of today’s testing. It had a copy of Windows Vista x64 installed so I stuck with that. The integrated GeForce 9300/9400M chipset supports DXVA/DXVA2 and should be able to offload much of the video decode from the sluggish CPU to the integrated GPU.

As you can see from the results below, CPU utilization drops significantly when going from Flash 10.0.32.18 to 10.1.51.45. Not only do the numbers drop, but playback performance (number of dropped frames) improves significantly. I’d say that all of the tests below were totally playable on the Ion system thanks to Flash 10.1.

Windowed Average CPU Utilization Flash 10.0.32.18 Flash 10.1.51.45
Hulu Desktop - The Office - Murder 70% 30%
Hulu HD 720p - Legend of the Seeker Ep1 75% 52%
Hulu 480p - The Office - Murder 40% 23%
Hulu 360p - The Office - Murder 20% 16%
YouTube HD 720p - Prince of Persia Trailer 60% 12%
YouTube - Prince of Persia Trailer 14% 7%

 

These are awesome improvements. The Hulu HD results were a bit high but the YouTube HD test showed a drop from 60% CPU utilization down to 12%. Most impressive. Now on to the full screen Hulu tests:

Full Screen 1920 x 1200 Average CPU Utilization Flash 10.0.32.18 Flash 10.1.51.45
Hulu Desktop - The Office - Murder 70% 55%
Hulu HD 720p - Legend of the Seeker Ep1 83% 68%
Hulu 480p - The Office - Murder 70% 70%
Hulu 360p - The Office - Murder 70% 70%

 

The biggest difference I saw was running Hulu Desktop in full screen mode (1920 x 1200). While CPU usage wasn’t at 100%, the latest episode of The Office was completely unwatchable in the previous version of Flash. Updating to 10.1 not only dropped CPU utilization, but it made full screen Hulu Desktop watchable on a ~1080p display with the Ion system. I can’t believe it took this long to happen, but it finally did.

The one anomaly I encountered was CPU utilization not dropping while watching Hulu in a maximized IE8 window. I’ve brought it up with NVIDIA and we’re trying to figure out what’s going on.

There is some additional funniness that happens with certain NVIDIA GPUs and some flash video content. Some YouTube videos use a 854 pixel-wide resolution, and default to software decoding on NVIDIA ION and GeForce 8400GS (G98) GPUs. To fix this problem you have to do one of two things. Under IE8 NVIDIA recommends that you do the following:

With Internet Explorer, you may not be able to enter GPU-accelerated playback mode on many clips that naturally start in 854x mode. As a workaround, append “&fmt=22” to the end of 720p clip URLs and &fmt=37 to the end of 1080p clip URLs. The videos will then play in GPU- accelerated HD mode.

Firefox 3.5.5 users have to follow a separate set of instructions:

Before running a YouTube HD clip, please go to Firefox menus and select Tools/Clear Recent History. Ensure the Cookies checkbox is checked, and do the clear. Next, go to Tools/Options/Privacy and select “Never Remember History”.

The above procedure will ensure an HD clip is first loaded in SD mode with 640x horizontal resolution, and then you select the HD button and get GPU- accelerated playback at 1280x HD mode. If you do not first delete Cookies and then turn off history, you may enter an 854x SD horizontal resolution upon starting up an HD clip which is not GPU-accelerated today. If starting in 854x SD mode, when you switch to the HD version, it will still be non-GPU accelerated.

These limitations are only on ION and GeForce 8400GS based GPUs, the rest of NVIDIA supported GPUs accelerate all content regardless of resolution. NVIDIA expects this behavior to be fixed either by updated NVIDIA drivers or an updated version of Flash.

Index Testing with AMD GPUs: Not So Great
Comments Locked

135 Comments

View All Comments

  • JarredWalton - Friday, November 20, 2009 - link

    Note: Got this working. See update on page 5.
  • duploxxx - Tuesday, November 17, 2009 - link

    interesting article although i think it is to soon with those beta drivers and versions.

    Did you guys happen to test also what the influence was on total power consumption, I mean due to utilizing certain gpu more reducing cpu i wonder if power consumption actually went up more by reducing the load on the cpu, since it is known that gpu (well at least the mid-high end) can consume way more then just the cpu.
  • mrbean1500 - Tuesday, November 17, 2009 - link

    works fine on my 4770 9.11 drivers

    works without a hitch in ff and ie
  • bcronce - Tuesday, November 17, 2009 - link

    "I’ve got a two socket, 16-thread, 3GHz, Nehalem Mac Pro as my main workstatio[...]
    But the one thing it can’t do is play anything off of Hulu in full screen without dropping frames."

    My Win7 2.66ghz corei7-920 plays Hulu fullscreen HD trailors/videos at 2% cpu with smooth playback. No, I'm not using that new flash either.
  • cmdrdredd - Tuesday, November 17, 2009 - link

    If your CPU is crap you want this.

    If your CPU is newer than 2 years old, you couldn't care less because your CPU can handle full screen HD no problem.

    I ran some HD video off youtube and Hulu and I see no more than 20% usage on my Quad. So this is worthless to me, sure I suppose someone could benefit.

    This assumes you are running Windows.
  • damianrobertjones - Tuesday, November 17, 2009 - link

    Is something wrong with the database?

    I was expecting to read an article on Flash and not about your Mac? Odd.
  • tk11 - Tuesday, November 17, 2009 - link

    Although offloading some video decoding to the GPU sounds nice I'm surprised Adobe would bother with it while there CPU decoder leaves so much room for improvement.

    I just setup a test and encoded a test h264 video (1280x532) in mp4 format and created a test webpage with the video embeded using both windows media player (using core AVC codec) and flash video (JW Mediaplayer). I then played the video in IE 7 on my GF's laptop running a core2 duo underclocked at 1163MHz using each player. IE's CPU usage playing the video using WMP was less than 20%; Embed the same video with flash and CPU usage goes up to 49-50 percent... near max cpu usage as the player is not multithreaded.

    Why doesn't adobe focus on improving their dismal software decoder? A decent CPU decoder would also prevent all the silly GPU and platform requirements.

    Hardware scaling would certainly be nice to prevent performance drops when going full screen but wasting resources developing GPU video decoding while their CPU decoders are in such a sad state is a clear misappropriation of resources.
  • cosmotic - Tuesday, November 17, 2009 - link

    How are you so sure that WMP isn't using hardware decoding? I can almost guarantee you that it is.
  • Exodite - Wednesday, November 18, 2009 - link

    Playing video through DVXA, GPU-enabled, decoders I average about 2% CPU utilization for 720p and 5% for 1080p content, including other background tasks. This using a C2D E6600 overclocked to 3.0GHz and a Radeon 4870.

    If you're looking at a CPU utilization of 20-50%, even for a CPU clocked just over a third of what mine is, for lower resolution content you're not getting any GPU offloading.
  • tk11 - Tuesday, November 17, 2009 - link

    Core AVC only supports hardware (CUDA) decoding on certian nvidia products that the laptop does not contain.

Log in

Don't have an account? Sign up now