“Getting a little more oomph out of your MacBook Air after giving Flash the boot? Adobe’s Shantanu Narayen stopped just short of saying that’s Apple’s fault for not handing Adobe a device ahead of time. We asked the CEO what the greater battery life sans flash in Apple’s new laptop meant for the platform vis-a-vis HTML5 at the Web 2.0 Summit just a few minutes ago. He said it’s really all about optimizing for silicon: ‘When we have access to hardware acceleration, we’ve proven that Flash has equal or better performance on every platform.’ You wouldn’t be blamed for thinking that sentence a cop-out, but that’s actually not the case – the chief executive says they’ve presently got a Macbook Air in the labs and have an optimized beta of Flash for the device presently in testing.”
See my last post on this:
http://www.osnews.com/permalink?449352
The current documentation implies that hardware acceleration on Macs is incredibly limited – only three GPUs, none of which are in current iMacs:
http://developer.apple.com/library/mac/#technotes/tn2010/tn2267.htm…
This is not the case on Windows, where a usable video acceleration pipeline, for all hardware, has existed for a long time.
Apple are, at least in part, to blame for the situation with Flash on their OS. They can improve the situation, and are choosing not to, for whatever reason.
Battery life is not relevant to a desktop computer such as the iMac, therefore AVIVO support is not exactly a priority feature for Apple. In addition, GPU decoding does not result in power savings under all circumstances (mostly due to the movement of data), and Apple’s Video Acceleration framework supposedly contains the logic that determines when the GPU should be engaged.
This leads to my question: The new MBA, as we all know, uses the same GPU as the new MB and MBP, which means the GPU is already supported by Apple’s Video Acceleration framework. Since Flash simply calls this framework, I don’t see where their optimization would come in.
Apple suck.
Frankly, video acceleration on macs is mostly BS.
My x264 encoded videos are beautifully accelerated in linux under VDPAU and fail miserably on my mac.
Youtube under flash still uses up to 35/40 % cpu on the smallest. on 720p it can go up to 60% cpu usage. But flash on macs it is at least better than it was. On linux they still fail (their flash developer moaning on blogs that that he is too confused by the two acceleration frameworks VDAU or VAAPI (both of which are far better than what apple provides in osx).
I have several machines with NO HARDWARE ACCELERATION, like an old CoreDuo MacBook with Intel graphics. HTML5 YouTube video plays perfect, a 480p video uses about 30% CPU, whereas Flash is 95% CPU. Things are even more skewed on an ancient G4 tower.
WindowsMedia files actually play pretty good on older Apple hardware, not as low CPU as MP4, but nearly so.
So, its complete BS that Flash sucks because it does not have access to hardware. MP4 and freaking Windows Media play well on old Apple machines with NO HARDWARE ACCELERATION. Freaking MS Silverlight also plays orders of magnitude better than Flash on old Apple machines.
The only thing I can think of is Flash is using some ancient, inefficient Carbon API to do drawing because they are too lazy to update their code. Remember, Carbon was a layer to allow freaking OS9 programs to run under OSX with no modification.
I think is pretty clear that the Adobe Flash developers do not give a rat’s ass about any platform other than Windows. Microsoft cares more about non-Windows platforms than Adobe.
Apart from HTML5 versus Flash there is another factor to consider … the codec employed.
If you enable HTML5 on YouTube, YouTube will look at your browser. If your browser is Opera, Firefox or Chrome, YouTube’s HTML5 will deliver a WebM video if it is available, whereas if your browser is Safari or if a WebM version is not available, YouTube will deliver H.264 video via HTML5. If your browser is not supported, YouTube will deliver Flash (which still requires the h.264 video as Adobe have not yet implemented WebM with Flash).
Your video replay performance issue might well be with the complexity of H.264 decoding, and may have nothing to do with Flash vs HTML5 per se.
I ran these tests using Safari, and enabling / disabling YouTube HTML5.
So, the HTML5 video was h.264 in a mp4 container. Doesn’t Flash also use some form of h.264?
All other video formats of comparable size consume relatively low CPU, including Windows Media, Silverlight and h.264 playing in either QuickTime or VLC.
Even if there is no video playing, just some lame Flash animation, Flash will instantly drive CPU usage way up, and it does so far far worse on non-Windows platforms. Conversely, if I view some Microsoft Silverlight animation (on the same Mac), it uses virtually no CPU.
So, if Microsoft can figure out how to make a Mac app use fairly low CPU with software decoding with either Silverlight, or Windows Media plugin, Apple can figure it out with Quicktime, VLC can figure it out, why can’t Adobe?
Edited 2010-11-17 04:15 UTC
Yes, there is some overlap in the codec/containers supported by Flash & those supported by Quicktime – both can playback h.264 in an MP4 container (and MOV, though I’m not certain about that one).
With h.264 on the web, there’s typically a single MP4 file – combined with some method of detecting how the video should be delivered: fed through a Flash video player, or directly through a video tag, etc. So the video file’s the same, but different software is used to decode it depending on the delivery method. With HTML5, the browser or the OS does the decoding – with Flash, the Flash player itself decodes the video.
You have my full support in this matter. I can’t image any “magical api” that Windows have and Mac’s don’t. The only difference is DirectX which Flash uses on Windows and which Mac lacks of course. But there is OpenGL and OpenCL and h.264 hardware decoder (where available). And silverlight and unity works just fine. So please people stop whining this mantra “it’s apple faults that some software from another company doesn’t work” or give some useful facts. No facts = no discussion. It’s boring to write 1000 times the same arguments which are not being addressed by anyone.
Windows’ graphics stack is way more advanced than Mac OS X’s. Windows allows for hardware acceleration on anything from a GMA500 to the latest NVIDIA powerhouse – Mac OS X only allows for hardware acceleration on a very small number of chips.
Are you confusing “hardware acceleration” and “h.264 hardware acceleration”? It is true that on OS X hardware decoding of H.264 video is provided only on a select few machines, but actual hardware acceleration of graphics? OS X has had it in some form or another since 10.1. Flash in Safari is using the new CoreAnimation interface, which means that Flash rendering of polygons is hardware accelerated, just not video.
What hardware acceleration? You mean h.264? Intel doesn’t have that. And windows on that chip don’t either
“It is a FACT that the GMA 500 plays all kinds of HD video flawlessly, just you have to use the video decoding capability of the graphics chipset (which is the MAIN advantage of the GMA 500). I routinely watch 1080p H.264 encoded videos on an external monitor (attached to my Asus 1101Ha using the Z520 processor and the GMA 500 video) and I can still do some light web browsing on the built-in display under Windows 7, because the CPU is running with 20-30% utilization.”
http://www.netbookmarket.net/intel-gma950-vs-gma500/
Is wrong?
GMA 5xx where NEVER used in macs…
http://en.wikipedia.org/wiki/Intel_GMA#Mac_OS_X
So yeah.. it’s kind a (!?) wrong in this context
GMA 950 hasn’t got h.264 acceleration…
Just nope.
HTML5 uses QT which uses full hardware acceleration. Flash doesn’t. And that’s the sole reason.
no, it’s not. quicktime can’t use hardware acceleration while decoding h.264 on a mac with intel gpu either, simply because the old gpus from intel don’t offer hardware acceleration.
and quicktime only supports the same gpus which are available through the api linked above:
http://www.apple.com/macosx/specs.html
so apple might be the one to blame for worse performance of flash on some gpus compared to windows, but it’s adobe fault if flash runs worse than quicktime on osx.
[simply because the old gpus from intel don’t offer hardware acceleration. [/q]
This isn’t true. Even the GMA500 offers acceleration on Windows, with DXVA.
Edited 2010-11-17 13:41 UTC
The GMA500 is reasonably new, completely unreleated to the other Intel GPUs. It has full support for h.264 decoding in hardware, but it has never been used in any Mac.
The Macbook and Mac Mini originally used GMA950s, which lack hardware h.264 acceleration of any kind.
Later models (2008 or so) used an X3100 instead. These had PARTIAL support for h.264 decoding, which isn’t terribly useful.
Newer Intel GPUs also have full hardware decoding for h.264 (a few of the GMA X4500 series, and the newest GMA HD). None of these have ever been used in a Mac either.
I don’t think so – if some gfx chip hasn’t got h.264 acceleration than neither windows or mac won’t have “hardware acceleration”. If it has – it’s used on windows AND mac. Especially that only few new gpus used in mac have this feature. Poor video performance is only adobes fault.
Uninstall Flash — Gain 1–2 hours battery life.
This is not a complex equation. These are benefits you can get _right now_, not in some vague update later on for one specific machine.
while you are at it disable wifi and put the screen brightness to the minimum, you won’t be able to see much and you’ll need a cable but imagine how many hours you’ll gain.
no really uninstalling flash is not the solution
Uh yes, yes it is. I’ve gone without it for two years.
Uh yes, yes it is. I’ve gone without it for two years.
For some people it is, for some it isn’t. You have to understand that some people just like to frequent certain sites who happen to employ Flash and for those people there just might not be an alternative site to go to, either because there is none or because the alternatives just plain suck. Some people just need Flash. But I recommed FlashBlock or similar in those cases because you have to click on the Flash animations to play them, meaning that Flash doesn’t get started by ads or whatnot useless crap.
Me, personally, don’t really need Flash, though. During the last year the only things I’ve used Flash for has been watching one or another video on the web, and on my N900 I haven’t used Flash at all. Videos simply can usually be found in several formats, or if they can’t then I just skip watching them altogether.
This is exactly what i do on my macbook pro… Although i use ClickToFlash so i can still play flash files if i want to.
I sit in a very quiet room, and quite often just browsing a website would cause my macbook to crank up the fans to high speed. The vast majority of the time when i look at activity monitor, it is the flash plugin causing the high cpu usage. Many of these flash files are advertisements on various websites, which usually don’t have any video to decode.
Flash seems to be coded extremely poorly, and it survives because it has no competition. If there was a browser as inefficient and buggy as flash it would be facing extinction because there are plenty of better alternatives.
Flash is a monoculture, controlled entirely by Adobe, it needs to either be fully opened up or got rid of. Having a key part of the web utterly dependent on a single company is madness.
Apple don’t like being beholden to Adobe any more than anyone else does, they are stuck supplying whatever slow and buggy plugin adobe provides, whereas with html5 they can ensure that their browser doesn’t give their users a bad impression of the platform.
Without supporting one side or the other, there is another option: create a better alternative. I know, blaming is easier, and there’s webm now, but I’d say the industry had a pretty long time to come up with other solutions, if they ever wanted. They didn’t, and now it’s easier to blame Adobe. But come on, why isn’t there a similar blaming campaign when any other software needs ever increasing hardware capabilities to run acceptably? Why the singling out of Adobe and Flash? I’ve said eariler too, it seems weird when someone creates a device and then starts blaming the software providers when their software doesn’t run well on the device. It’s a two-player game. On one side you need to provide proper hardware capacity and proper batteries, on the other side you need software that can exploit that hardware capacity to the maximum extent. I’d say both sides have their deficiencies. Also, providing a device with a described computing/battery capacity should take in consideration the software that is expected to run on that hardware before stating what those numbers are. Saying that oh, my batteries are perfectly able to provide 76 hours of uppime, unless you run one software on it, is, well, funny.
Don’t use a computer at all.
Save electricity, money, network bill, …
By writing this text you have killed panda! Bastard…
Or you could simply use any recent release of Firefox and simply kill the plugin-container process.
I’m plugged in most the time.
I visit sites that require Flash.
You’re right that this is not a complex equation. Uninstalling Flash would make zero sense for me.
Some of us want to surf the complete web and not have websites look screwy without Flash.
http://www.youtube.com/watch?v=s72rGDUn2uo
So, if people move away from Flash, and simply use HTML5 for all the same intrusive advertisements that drain battery life, would there be any battery savings?
If so, then the problem isn’t with flash, but with advertisers demanding more than their share of CPU time.
Has anybody benchmarked this?
I’ve noticed that the HTML5 games really burn cpu compared to Flash. This shouldn’t be a surprise given that Flash is compiled code.
The real problem with Flash is its overuse in ads and website menus. It’s a very inefficient way of displaying a 10 frame animation due to layers that are not needed for simple use. So HTML5 should easily have the advantage there.
Edited 2010-11-17 20:34 UTC
It’s not so much about Flash being compiled, and browser-based games being JavaScript. It’s not really that big of a difference for most games.
The difference is rendering speed. Flash’s software renderer is generally faster than the Canvas software renderers in Firefox, Safari, Chrome and Opera. Canvas is just slow.
That’s probably going to change though. IE 9’s hardware acceleration is way faster than Flash, as is Firefox 4 on Vista / Windows 7. We just need everyone else to catch up…