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

  • cosmotic - Thursday, November 19, 2009 - link

    Most control panels are crutches for poor operating system and application developers. I have never touched ~95% of settings in such control panels, and AA settings belong in the application, if any. These sorts of things should be non-issues. Same with sub cutoffs. That belongs on the amp/receiver. Even if I'm completely off base, there's no reason the travesty that is any current control panel should look the way they do. Honestly, skins in Catalyst? What - the - fuck.

    The ONLY three things I ever do in a graphics card control panel are 1) adjust flat panel scaling, which It should never be on anything but maintain aspect ratio, 2) adjust black levels, which I should never have to do with a properly calibrated monitor and 3) adjust multi monitor options because for whatever reason nVidia and ATI insist using their own ultra shitty implementation instead of the only somewhat shitty Windows implementation.

    You got me on the C2Q playing back video, although if you start doing anything else CPU intensive, that wont last. Imagine playing back TWO videos?!
  • Cerb - Saturday, November 21, 2009 - link

    Sorry, but no. Having settings in the application means that if the application was not designed to use those features, you can't turn them on. Any features implemented just by the driver and hardware should be controlled entirely by the driver and hardware. The user should then have a front-end to control those settings.

    Games should have the minimal amount of settings for anything not programmed into the game. The driver should have everything else. AA is one that should especially not be controlled by the game itself. AA controlled by the game means the game can turn it off, which should never happen. I would return a game that did that in a heartbeat (I've been having AA always on since Quake 2 and Tribes on a GF2 GTS--which would not even be possible if it were a game setting--and am not turning it off until pixel size becomes at least 1/16 what it is now on LCDs).

    The game should never get to decide what settings can or can not be used. Likewise, audio applications should not have to know about my speaker setup, just send data to the driver API. Video should be the same way: define the stream, send it to a demuxer, have that send the video portion to a black-box decoder API. it doesn't always end up working out perfectly, but that's why default settings tend to be the most widely compatible ones.

    Not all such control panels are well thought out, but they have their place. In some cases, they are OS/app crutches (multimonior and color tuning, FI), but they are quite useful beyond that, and would not disappear, even if all the crutch-like settings could be done away with.
  • JarredWalton - Saturday, November 21, 2009 - link

    The problem is that AA doesn't work properly using some methods unless it is built into the game engine. Never mind that with pixel and compute shaders, it is now possible to do AA within the game code and not have it impact performance as much (i.e. DX 10.1 enabled games). I don't think you can make a case for either direction: i.e. it shouldn't ALWAYS be controlled by the game, and likewise it shouldn't NEVER be controlled by the game. Similarly, trying to control that in the driver won't always work (but it sometimes will).

    IMO, the only reason we have the setting in drivers is because games are often not forward thinking, limiting what setting they will or won't support. Assassin's Creed for example decided that any resolution above 1680x1050 shouldn't be allowed to run AA. Stupid. Older games were made before AA was even a consideration. All new titles should look at implementing AA internally, in an optimal manner, with the ability for the user to turn it on or off. Thankfully, most games are doing exactly that.

    Another case for why AA should be in the game/application and not the driver: say game X runs perfectly well at 2560x1600 4xAA, but game Y can't do more than 1920x1200 0xAA, and another game can run 2560x1600 0xAA, and yet another 2560x1600 2xAA.... You get the point. If you control the setting within each game, you set it once and forget about it. If it's a driver only setting, every time you decide to play a different game, you have to enter the control panel for the drivers and change the setting.

    Saying AA should be only in the control panel is just one step up from saying games shouldn't even be able to specify what resolution to run at. I think we can all see how ludicrous that would be, and by extension forcing the driver to tell games what AA (and HDR, etc.) to use is equally limiting. The application knows what to do best, and the drivers are just an interface that talks to the hardware and interprets common function calls.
  • davepermen - Friday, November 20, 2009 - link

    playing back full hd videos without hw decoding does actually even work on a c2d, no problem so far.

    just not with flash, as it's horribly inefficient.
  • JarredWalton - Friday, November 20, 2009 - link

    A reasonable Core 2 Duo with GMA 4500 or better graphics should be able to handle Flash HD at up to 1680x1050 without trouble, even with Flash 10.0. The problem is that a lot of netbooks, nettops, and entry-level laptops don't have even that.
  • ProDigit - Tuesday, November 17, 2009 - link

    Flash sucks big time,and is largely unwanted on the internet!
    Instead of displaying movies in Flash, websites would have done better with streaming DivX/XviD or OGG/Mp3/WMA or so.

    Flash is as much an internet hog as REAL was in the real networks days.
    They are low in quality, require high CPU, and display few FPS.

    I prefer the internet to become like a mobile internet, without ads, and just the minimal info visible necessary to do the most basic internet tasks (like this article, a few .jpg's, and a non-java based forum or thread underneath where we can type.

    Many websites won't exist if it wasn't for the ads you may say, but I'll reply to them:
    "So where is all that money going to that they get or pay to keep their website online? Who's on the head of the chain? The government?"
    The internet was supposed to be a free thing, the only ones who should charge are the companies who place cables which carry the signals, and the renewal of the servers.

    We're living in 2009, back in the '80, it could cost you quite some bucks to have 20MB of online server space!
    Nowadays, they charge quite some to, while giving you 50MB of web space! I mean, what is that?
    It costs a company today $90 to get a 1TB HD!
    And if they got rid of flash altogether, internet pages wouldn't take up more than a few hundred of kilobytes.
    A 1 TB harddrive could be enough to give 10.000 customers a 100MB webspace for $10 per person, which is almost for free.

    But no,if you have a big website, they charge you hundreds of dollars per year, sticking a big fat bonus in their paychecks, because a server does not cost a company $100.000 anymore. They nowadays can easily be made for 1/10th of that price, yet they still charge too much.
    That's why the world must be terrorized by flash ads.
    I'm glad someone got some sense to create an ad blocker for my browser; because that not only seems to ease my reading of the page, it also reduces my overall network traffic, lowers CPU usage, and therefor increases battery life on my notebook, and it keeps me safer from hackers trying to enter into people's computers through annoying popup ads, using the weaknesses of flash.

    The world would be a better place if flash was never invented.
    Even those little tasks you do in flash,like playing farmville in facebook, perform much better if it was only an executable file for download, instead of a flash game!
  • bcronce - Tuesday, November 17, 2009 - link

    "It costs a company today $90 to get a 1TB HD! "

    My employerr had to pay $120k for a new 16TB SAN cabinet and that doesn't include local back-ups or off site storage/back-ups

    I wish storage was only $90/TB, I could get a raise.
  • snarfbot - Monday, March 8, 2010 - link

    well did he really have to?

    seems like a bad time to invest that much cash when the entire storage industry is transitioning to solid state.
  • autoboy - Tuesday, November 17, 2009 - link

    Do you have any clue how the world works?

    People provide services. In exchange for those services, they get paid. Their pay allows them to buy your services. People who provide services people actually want get paid, while those services that people don't want fail. Government steals 50% of your pay to build roads, police crime, and perpetual failed social programs.

    So, the internet is supposed to be free with no business model?

    Sound good to you Anand?
  • fic2 - Tuesday, November 17, 2009 - link

    A 1T hard drive might cost YOU $90, but for a server company it cost quite a bit more. Or do you and the 10,000 other customers not care if the 1T is RAIDed and backed up? I am not sure what else goes into to it since I don't do that, but I would guess they also have to pay for space/electricity/AC/people/internet/etc.

    Oh, I'll add that I hate flash, too. Especially the idiot websites that think their front page has to be flash based.

Log in

Don't have an account? Sign up now