Adobe Enables Flash GPU Acceleration in OS X, We Test It
by Anand Lal Shimpi on April 28, 2010 10:29 PM EST- Posted in
- Mac
- Flash GPU Acceleration
- GPUs
Brandon Hill, Editor in Chief of DailyTech, IMed me an hour ago with this: "OK, stop laying on the couch with your iPad and do some OS X benchmarking". He ended the IM with a link to a DT article stating that less than a week after Apple opened hooks into NVIDIA's VP2 decode engine, Adobe delivered a version of Flash 10.1 with GPU acceleration under OS X (Windows users have had it for six months now).
Impressive turnaround time for a company that has recently been thrashed by Apple quite a bit. It just goes to show one thing: there's no room for ego in engineering. Adobe claims the beta only supports Flash acceleration on the GeForce 9400M, GeForce 320M or GeForce GT 330M, however in my testing it worked fine on EVGA's GeForce GTX 285 Mac Edition. The tests below look at CPU utilization of the Flash plugin alone in Chrome (this is single core CPU utilization). The column on the left is without GPU acceleration, the one on the right with GPU acceleration:
Adobe Flash GPU Acceleration in OS X 10.6 - CPU Utilization | ||||
Flash 10.0.45.2 | Flash 10.1 Gala (GPU Acceleration On) | |||
Hulu - Glee - 480p (Window) | 105% | 107% | ||
Hulu - Glee - 480p (Full Screen) | 140% | 117.8% | ||
YouTube - Karate Kid Trailer - 720p | 116% | 51% | ||
YouTube - Karate Kid Trailer - 1080p | 141% | 67.4% |
While hardware acceleration doesn't appear to work on Hulu's website, there's definitely an improvement in CPU utilization when scaling to full screen. YouTube is a different story however. CPU utilization is cut roughly in half. The fact that it's taken this long is upsetting, but at least we're making some progress. You can tell the GPU acceleration is working if you see a little white square in the upper left hand corner of your YouTube video:
Because the GPU acceleration only works on NVIDIA hardware, owners of the new 15/17-inch MacBook Pros will tradeoff lower battery life for lower CPU utilization (the NV GPU has to be powered up during Flash video playback). Hopefully this is just the first step as there's no reason why Intel's HD graphics can't offer the same H.264 acceleration as the NVIDIA GPUs.
And to set the record straight, I wasn't laying on the couch with my iPad.
38 Comments
View All Comments
michal1980 - Wednesday, April 28, 2010 - link
They can utilize more then 100% of the cpu.MadMan007 - Wednesday, April 28, 2010 - link
Indeed...magical. They actually create CPU cycles.But seriously, yeah, I was going to ask about that. I am very surprised it wasn't even mentioned since over 100% utilization is just a silly thing to say. Does Apple count each core as 100% or something?
Anand Lal Shimpi - Wednesday, April 28, 2010 - link
Under OS X's activity monitor in the list of processes you have CPU utilization as the percentage of a single core, so yes, 140% means it's using 70% of two cores. This is actually common in many non Windows OSes. If you've ever used top in Linux you'll see the same thing.Take care,
Anand
MadMan007 - Thursday, April 29, 2010 - link
That's what I figured. It would more properly be called 'Core % usage' then.solipsism - Wednesday, April 28, 2010 - link
This is how multiple cores are typically measured since it's possible to have one core at 100% and another idle.However, in this test I am confused as the article states that they are using only a single core. This makes sense to see the differences between the new and old Flash. It's very easy to turn off all but one core on Mac OS X with a developer tool Processor pref pane.
Also, it would have been great to get an HTML5 YouTube comparison thrown in. My tests with 360p, 480p, 720p and 1080p show Flash is using 3x to 6x as much processing. Some of this if Flash overhead but some could be how more efficient the WebKit framework is with H.264 decoding. I only tested Safari, not Chrome.
Anand Lal Shimpi - Thursday, April 29, 2010 - link
I was just clarifying that it's % of a single core being used (e.g. 140% of one core or 70% of two cores). I'll clean up the text a bit.HTML5 does appear to use far less CPU than Flash, however I managed to pick one of the only trailers without HTML5 support in YouTube :-P
Take care,
Anand
solipsism - Thursday, April 29, 2010 - link
None of the "sponsored" YouTube pages have HTML5 at this point. I have to think it's a security reason because it's certainly H.264 video. The problem with that argument is that it couldn't be easier to grab a local copy of any YouTube video, so I don't know what the reasoning is.lyeoh - Thursday, April 29, 2010 - link
Why does Flash perform so much worse on nonwindows platforms?I find that puzzling. Many 3D games run as fast (if not faster) on non-windows platforms (when the developers bother to port them over).
B3an - Sunday, May 2, 2010 - link
Thats not true at all. If a game has versions on Windows, Mac or Linux, it's just about always the Win version that will run better, and sometimes a lot LOT better. Mainly because Windows has vastly better and more up to date drivers by both NV and ATI.Flash not running well is more than likely down to Apple. It's taken this long for GPU accleration to happen with Apple as they only just opened up there low level API's for Adobe.
This is what you get when you go Apple and support a closed platform.
mmendoza27 - Thursday, April 29, 2010 - link
I know I'm kinda late to the party, but remember that a test like this was kinda done (although I think it should be re-done). This also brings up the issue for Anand if the browser has any impact on GPU Acceleration like it did for HTML5 video.http://www.streaminglearningcenter.com/articles/fl...