View Full Version : Is the new MacBook using GPU acceleration for H.264 decode?
MGLXP
Oct 17, 2008, 09:37 PM
Hello everyone,
I just purchased an Aluminum MacBook 2.4GHz today, and I tried playing some H.264 Trailers and I am shocked by the performance. My other MacBook Pro 2.4GHz playing a 1080p trailer is using about 100% CPU (out of 200%) but my new MacBook played the same trailer at only 28% CPU usage (out of 200%). I'm wondering if anyone knows if there is some GPU decode acceleration happening with the 9400M GPU because the difference here is quite huge. Thanks!
Kendall015
Oct 17, 2008, 09:45 PM
I don't have any inside knowledge, but don't all codecs use hardware acceleration to decode video? There may be optimizations in the new video card that speeds up specific codecs like H.264, resulting in the dramatic increase in performance, but I think that the GPU was used for both.
Someone chime in if I am incorrect, though.
MGLXP
Oct 17, 2008, 09:49 PM
I don't have any inside knowledge, but don't all codecs use hardware acceleration to decode video? There may be optimizations in the new video card that speeds up specific codecs like H.264, resulting in the dramatic increase in performance, but I think that the GPU was used for both.
Someone chime in if I am incorrect, though.
My MacBook Pro has a 8600M GT graphics card which supposedly supports PureVideo H.264 hardware decode (in Windows), but in Mac OS X it appears that this hardware decode using the 8600M GT is not being used (since the CPU usage is 100% out of 200%), rather decode is totally being done by the CPU. With my experience of GPU decode in Windows, when it is actually being accelerated by the GPU, H.264 decode of 1080p video is usually around 10-20% (out of 100%) CPU usage.
Eidorian
Oct 17, 2008, 11:22 PM
This is rather interesting since Apple has seemed to have abandoned hardware decoding on OS X up until this point. OS 9 had DVD hardware decoding support mind you.
Hopefully someone can hunt down what's decoding the video stream on this new hardware so we can get to the bottom of this.
Keep in mind there are some interested powers from above as well. ;)
MGLXP
Oct 17, 2008, 11:30 PM
This is rather interesting since Apple has seemed to have abandoned hardware decoding on OS X up until this point. OS 9 had DVD hardware decoding support mind you.
Hopefully someone can hunt down what's decoding the video stream on this new hardware so we can get to the bottom of this.
Keep in mind there are some interested powers from above as well. ;)
It is indeed very interesting since Apple has not used any GPU accelerated decode of H.264 even though many GPUs that were in Apple machines were capable of this decode.
arn
Oct 17, 2008, 11:43 PM
can other people with similar configs (new and old) run similar tests with high def quicktime streams from Apple and post their results?
http://www.apple.com/quicktime/guide/hd/
thanks
arn
Eidorian
Oct 17, 2008, 11:47 PM
can other people with similar configs (new and old) run similar tests with high def quicktime streams from Apple and post their results?
http://www.apple.com/quicktime/guide/hd/
thanks
arnIt looks like the game is afoot.
Hopefully Apple doesn't put off this feature as part of the new hardware. The 8600M GT is as close to identical as you can get.
Edit: I start off around 50% then it peaks at just shy of 100%.
matperk
Oct 17, 2008, 11:48 PM
Mine runs about 80% on average. Peaked at 100. Low of about 70 playing artbeat video on MBP listed below.
tekmoe
Oct 17, 2008, 11:48 PM
I just now played a 720p from the Apple site on my MacBook 2.4.
I watched the CPU's in Activity Monitor and they barely passed 20% while playing the movie.
MGLXP
Oct 17, 2008, 11:53 PM
can other people with similar configs (new and old) run similar tests with high def quicktime streams from Apple and post their results?
http://www.apple.com/quicktime/guide/hd/
thanks
arn
I have also copied the version of Quicktime from my MacBook (slightly newer version) to my MacBook Pro, and the results are the same.
arn
Oct 18, 2008, 12:07 AM
I just now played a 720p from the Apple site on my MacBook 2.4.
I watched the CPU's in Activity Monitor and they barely passed 20% while playing the movie.
This the new aluminum MacBook?
MGLXP
Oct 18, 2008, 12:08 AM
It looks like the game is afoot.
Hopefully Apple doesn't put off this feature as part of the new hardware. The 8600M GT is as close to identical as you can get.
Edit: I start off around 50% then it peaks at just shy of 100%.
That trailer (Yes Man) does not pass 20% (out of 200%) CPU usage on the MacBook.
Eidorian
Oct 18, 2008, 12:10 AM
That trailer (Yes Man) does not pass 20% (out of 200%) CPU usage on the MacBook.That's why we suspect GPU decoding hardware acceleration of h.264 on these new MacBooks.
Special OS X and Quicktime builds are known on new hardware. ;)
me_94501
Oct 18, 2008, 12:14 AM
I have a new 2.0 GHz aluminum MacBook and a 1.83 GHz Core Duo MacBook at my disposal. The Core Duo MacBook's CPU use averages between 75% and 85% with the 1080 BBC Motion Gallery reel. The aluminum MacBook ran about the same.
MGLXP
Oct 18, 2008, 12:15 AM
That's why we suspect GPU decoding hardware acceleration of h.264 on these new MacBooks.
Special OS X and Quicktime builds are known on new hardware. ;)
I was wondering that if this was the case, why wouldn't Apple be advertising this? This is a HUGE feature.
arn
Oct 18, 2008, 12:15 AM
I have a new 2.0 GHz aluminum MacBook and a 1.83 GHz Core Duo MacBook at my disposal. The Core Duo MacBook's CPU use averages between 75% and 85% with the 1080p BBC Motion Gallery reel. The aluminum MacBook ran about the same.
hmm. just to be clear, you saw no benefit in performance running the hd video on a new aluminum MacBook (just came out last week). 75-80% CPU usage?
arn
me_94501
Oct 18, 2008, 12:21 AM
hmm. just to be clear, you saw no benefit in performance running the hd video on a new aluminum MacBook (just came out last week). 75-80% CPU usage?
arn
That is correct.
007bond4321
Oct 18, 2008, 12:26 AM
I can confirm the 80%-ish CPU usage on a July 2007 MBP (listed below)
Cool that Apple is doing this for the new 'books. Unfortunate if it doesn't spill down to the rest of us.
tekmoe
Oct 18, 2008, 12:27 AM
This the new aluminum MacBook?
Yup
MGLXP
Oct 18, 2008, 12:29 AM
I have a new 2.0 GHz aluminum MacBook and a 1.83 GHz Core Duo MacBook at my disposal. The Core Duo MacBook's CPU use averages between 75% and 85% with the 1080 BBC Motion Gallery reel. The aluminum MacBook ran about the same.
I tried the same video, and although less of a difference, my new MacBook still showed lower CPU usage. My MacBook Pro had around 100-110% CPU usage whereas my MacBook does not pass 95% CPU usage. For some reason, this video does not show much of a difference (its bitrate is similar to the other videos), whereas other videos show much greater difference (I have tried about 6 now).
EDIT: Definitely something is going on with Quicktime...when I played the same set of videos using VLC (used to be more efficient than Quicktime), the CPU usage when comparing the MacBook Pro and MacBook were identical.
tekmoe
Oct 18, 2008, 12:33 AM
http://i49.photobucket.com/albums/f296/tekmoe/Picture4.png
There's a screenshot of a 1080p movie running along with my Activity Monitor showing the CPU history. The spikes are from me capturing screenshots. Remains at a constant 20% or so while playing the movie.
me_94501
Oct 18, 2008, 12:43 AM
http://i49.photobucket.com/albums/f296/tekmoe/Picture4.png
There's a screenshot of a 1080p movie running along with my Activity Monitor showing the CPU history. The spikes are from me capturing screenshots. Remains at a constant 20% or so while playing the movie.
Interesting. What's the encoding on that video?
Here's the one I'm playing: http://www.apple.com/quicktime/guide/hd/bbcmotiongalleryreel.html
EDIT: From http://www.nvidia.com/object/product_geforce_9400_mgpu_us.html:
Experience full-spec playback of your favorite Blu-ray titles. PureVideo HD offloads 100% of movie playback for all HD video formats (H.264, VC1, MPEG-2), delivering stunning, stutter-free video with outstanding audio fidelity.
This is from the page for the desktop variant of the 9400; I'm not sure if this is true with the mobile version (9400m) that the MacBook uses.
EDIT 2: I tested with a second video--an HD TV show downloaded from iTunes--and sure enough, the aluminum MacBook saw less of a performance hit.
tekmoe
Oct 18, 2008, 12:49 AM
Interesting. What's the encoding on that video?
Here's the one I'm playing: http://www.apple.com/quicktime/guide/hd/bbcmotiongalleryreel.html
That one is making my CPU run around 95%.
MGLXP
Oct 18, 2008, 12:51 AM
That one is making my CPU run around 95%.
Yah...that one seems to show a different pattern (although still lower) from the others I have tried. It's sorta strange since it's about the same bitrate as the others and all of them use H.264 video encoding.
geerlingguy
Oct 18, 2008, 01:15 AM
Interestingly, when I run a 1080p video, with a 5.1 surround audio track (AC3 encoding) through Plex, very little of the processor is used—never more than 50%. When I try playing a simple 1080p trailer in QuickTime, with a stereo AAC track, it plays back quite choppily.
MGLXP
Oct 18, 2008, 01:20 AM
Interestingly, when I run a 1080p video, with a 5.1 surround audio track (AC3 encoding) through Plex, very little of the processor is used—never more than 50%. When I try playing a simple 1080p trailer in QuickTime, with a stereo AAC track, it plays back quite choppily.
Yes, Quicktime is not very efficient compared to open source decoders such as the one used in VLC. This was definitely the case with my previous macs. But when playing the same video in VLC and Quicktime now with the MacBook, Quicktime is quite a bit more efficient (possibly due to GPU acceleration).
Eidorian
Oct 18, 2008, 01:25 AM
Yes, Quicktime is not very efficient compared to open source decoders such as the one used in VLC. This was definitely the case with my previous macs. But when playing the same video in VLC and Quicktime now with the MacBook, Quicktime is quite a bit more efficient (possibly due to GPU acceleration).It looks like VLC might support GPU decoding in Windows. I will say that it is optimized to take advantage of SIMD features like SSE and Altivec.
iMacDragon
Oct 18, 2008, 07:50 AM
Just to note, if there is hardware acceleration now, anyone that has Perian installed will probably not see it, as perian replaces the quicktime h264 decoded with its own. so this has to be taken into account when comparing machines.
Compile 'em all
Oct 18, 2008, 07:52 AM
Just to note, if there is hardware acceleration now, anyone that has Perian installed will probably not see it, as perian replaces the quicktime h264 decoded with its own. so this has to be taken into account when comparing machines.
good to know. do you have an idea if it is possible to avoid installing only the h264 decoder?
iMacDragon
Oct 18, 2008, 08:13 AM
I don't believe there is currently, but if apple have actually got their decoder working better than the perian one, I would assume a new version can be compiled that removes it, it is open source so a third party could probably have a crack at doing so too.
I think they've stated that the reason the've had theirs in first place was due to the apple one not being able to cope with high profile encoded content properly, so some testing needs to be done now, I guess.
dinaluvsApple
Oct 18, 2008, 08:16 AM
can the screen on the macbook even support actualy 1080p?
iMacDragon
Oct 18, 2008, 08:42 AM
No, not quite, but its larger than 720, so some benefit to 1080p content would still be had, and external displays it will drive at 1080p
edit, forgot talking about original macook.. I guess there woulnd't be any benefit in visual quality on internal display, apart from being able to playback 1080p media if don't have 720p version, but as the macbooks can drive external 1080p resolution displays, there would be possible benefit to be had for using one as a media player I suppose.
nurv2600
Feb 10, 2010, 12:22 AM
Yes, in snow leopard with QT X, the GPU is helping to decode the video. A BlueRay rip of Zombieland, (h.264 in MKV container, 20GB), plays w/ CPU at 90-100% and is jerky when using MPlayer, and unwatchable on VLC. During test, VRAM usage stayed at %0-5, and GPU useage never went above %15 (enough to render the frames on my 1080P external dispaly). On QT X, VRAM useage jumped to %30-40, GPU to %20-30, and CPU around %60. Using Perian to enable QT to open Matroska (MKV) files, I'd say QT X gave me, by far, the smoothest playback.
The figures above were given using atMonitor while on the 9600GT in my MBP. Same story with my 9400M, just the VRAM and GPU useage were a bit higher due to the lower processing power, still played just fine though w/ Perian and QT X.
bearcatrp
Feb 12, 2010, 12:24 AM
Am getting 50% cpu usage when playing the 1080p.
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.