Common wisdom has it that Flash is a resource hog, and that HTML5 will prevent your processor from having to work really, really hard to show animations of videos. Well, a number of people have conducted benchmarks with the latest browsers and Flash betas, and common wisdom is starting to show serious signs of crackage.
The next big thing in the Flash world, and more or less Adobe’s answer to all the complaints about Flash’s performance, is version 10.1. It brings with it general performance improvements, but more importantly, enables hardware acceleration for video playback – at least on Windows. The feature isn’t supported on Linux, because, well, let’s face it, Linux’ video and graphics stack is a mess, and it isn’t supported on Mac OS X because Apple doesn’t expose the hooks to do so.
The difference hardware acceleration makes for playing video content through Flash is pretty big: with hardware acceleration enabled (Flash 10.1 on Windows), processor usage drops to acceptable levels right away. According to tests performed by ReadWriteWeb for instance, Firefox running on Windows saw processor usage with Flash 10.1 drop to 6%, down from 22% when using Flash 10.0.
Similar conclusions were drawn by other testers. “When it comes to efficient video playback, the ability to access hardware acceleration is the single most important factor in the overall CPU load,” concludes Jan Ozer, “On Windows, where Flash can access hardware acceleration, the CPU requirements drop to negligible levels. It seems reasonable to assume that if the Flash Player could access GPU-based hardware acceleration on the Mac (or iPod/iPhone/iPad), the difference between the CPU required for HTML5 playback and Flash playback would be very much narrowed, if not eliminated.”
It is difficult to shake the feeling that Apple is purposefully not providing the hooks needed for Flash to tap into the video chip to provide hardware acceleration. Steve Jobs is clear in his hate for Flash, so why would Apple make it easy for Adobe to improve their product?
When it comes to non-video content, HTML5 doesn’t appear to be very CPU-friendly, but since there’s no benchmark available that tests the same set of animations in both Flash and Canvas/JS, it’s hard to compare the two competing technologies. In any case, the 9elements Canvas/JS example is pretty rough on the processor no matter the platform.
The deciding factors on Flash performance is most certainly the availability of hardware acceleration, which at this point is a Windows-exclusive feature because, as AnandTech puts it, “Linux isn’t ready and Apple isn’t open enough”. This means that simply because Microsoft offers the superior video stack, Flash will no longer be a resource hog for Windows users.
The performance of HTML5, whether it be video or animation, varies wildly based on platform and browser, which makes sense since every browser maker uses different codecs and implementations. This means that for at least the foreseeable future, fancy HTML5 content can most certainly be just as, if not more, straining on your processor than Flash content.
This doesn’t mean we should all stop hating Flash now, though. It’s a closed technology filled to the brim with security holes and stability issues. At least for Windows users, performance will no longer be an issue once 10.1 leaves beta.
I am really curious what hardware acceleration they are using that is not available on non-windows platforms. Is this really a matter of platform does not support at all, or is it a matter of they used an API that is only on windows.
While I think just using OpenGL would be good enough for typical flash uses, I can understand them not wanting to use it due to things like lack of control over sub-pixel rendering. Which is why I wonder what they are using on windows. Direct2d would make some sense, but I am wondering if they would want that or go lower level.
Also the linux side is not so weird anymore. As Opera has shown with their use of gstreamer in their newest version, choosing the leading solution is good enough. It will work just fine with all the normal distros, and fringe people can take care of themselves.
Adobe wants to use the h264 decoder integrated in most gpu, on linux you can do that with nvidia’s vdpau but I guess there is no way to do it on mac os x
They should get their facts straight. Linux is more than ready for hardware accelerated video playback. Currently there are the VA-API and VDPAU APIs. The latter is only available on nVidia cards, but there exists a VDPAU backend to VA-API, so you can use VA-API everywhere.
I use VDPAU for months now to watch 1080p content with mplayer. I also tested VA-API, but not on nVidia, instead on a GMA500.
I tried Flash 10.1beta3 under Windows and the hardware acceleration somewhat works. However it crashes sometimes and sometimes is unrecoverable (you only see the green box) until reboot.
Given that flash 10.1 with h.264 playback seems to have really good acceleration on Ion even under XP I’m actually wondering what API they are using to get at the GPU in the first place. Since it reportedly does nVidia, Intel and ATI that rules out both CUDA and ATI ‘streams’ – it can’t be directCompute because that’s DX10+ only, I’m wondering if they did it in shader language – in which case one questions why it’s NOT available on other platforms; excepting openGL won’t let you run a shader instance without a GL Surface initialized, something not entirely easy to integrate into a browser plugin – while DirectX will let you run shader language code directly without initializing Direct3D… So that’s the most likely route for implementation IMHO. (or at least that’s my understanding of it – I could be way off base since I’m barely scratching the surface on writing OpenGL code atop SDL and still can’t make sense of programming DirectX)
All it would offer is blitting and scaling – which sure 20 years ago was the huge bottleneck when our encoding was a joke as was the resolution … Today it’s all about the codec and OpenGL doesn’t do encode/decode. That’s what OpenCL is for…
Someday OpenCL might make a dent, but it’s fighting being beat to market by at least three years in the case of CUDA, and the sheer 500 pound gorilla that DirectCompute is thanks to the number of people using windows. Even with Leoptard beating DX11 to market, it really doesn’t matter.
Gnash project already supports hardware video decoding on Intel, ATI, and NVIDIA hardware using libvaapi on Linux so why Flash player isn’t able to do that?
because the gnash developers are geniuses 🙂 ? seriously though flash is hurtful to the web espcially on non x86 platforms and the OSes non “blessed” by adobe
Linux’ video and graphics stack is a mess only for adobe developers.
Adobe Flash plugin does not use any kind of acceleration, even xv… should be simple to use xvideo, but they have no time to implement it.
Open source developers, on the other hand, use vdpau, libva, xvideo, xvmc.
I hope html5 will *kill* flash and its poisonous plugin.
The only problem I see is that GFX cards do not offer a uniform API like USB and Bluetooth. One generic OS driver should exist targetting them uniformly. the driver could query the device for capabilities set properties and do its thing. No blobs, only OS specific open specced driver. Then things would improve dramtically for all Open source OSes. MS does this but using wrappers to hide HW non-uniformity. I think that the stack should be generic and see all GFX uniformly at the HW level wether it is Silicon Motion , ATI Power VR or whatever. Then GFX content could be commonplace. We are in 2010 with all the tech, why don’t they do it?
The same should hold for all the devices, like printers mpeg accelerators webcams and all that stuff.
As has already been pointed out, Gallium3D is the answer to this very problem.
http://www.phoronix.com/scan.php?page=news_item&px=ODA1OA
It is not there yet, but it is starting to get there.
When it arrives, it will allow a common API for all video cards to present to all programs, and it will allow hardware accelerated video for any codec.
Va-api is the solution in this case.
But using simply xv that is supported by almost every graphic card should be a big improvement.
Actually the biggest problem with flash is not video acceleration: even non-video swf (i.e.: news tickets, ad banner, and similar web gadget) are slow.
I so totally agree, Guiodic! If I could mod you up a 1000 points I’d do so gladly. Flash NEEDS to die a quick & ugly death!
– Windows 7 user here using Chrome with HTML5 on YouTube. No problems with CPU usage whatsoever. As a matter of fact, it’s running a lot *smoother* than GPU-accelerated Flash!
Edited 2010-03-14 05:28 UTC
Anybody can improve an HTML5 implementation. Only Adobe can improve Flash. They’ve had ten years, what have they done? HTML5 has had two–look at what it’s done.
HTML5 will simply outpace Flash when it comes to improvements, because JS has gotten 1000x faster in just two years and it’s still improving.
When I made my HTML5 site in 2008, I was one of only two HTML5 sites I knew of. HTML5 video wasn’t being used at all, anywhere. Now I’m just one of thousands and YouTube, Vimeo and DailyMotion use HTML5 video. That is a pace of change that goes beyond Flash. A whole Internet innovating is better than any number of Adobe engineers.
I agree about the mass input aspect of HTML5 development. The comparison of Flash and HTML5 with benchmarks is a bit premature at this point as far as I’m concerned. Once HTML5 adoption is at a higher level, this will bring in more support and resources to the developers. Flash has had years of backing and time to grow into its dominating position. Even the walled-garden Silverlight has had a massive financial backbone to support its adoption.
Only in theory anyone can improve HTML5 yet reality shows us that whole process is big mess of groups with different intrests fighting over. Keep mind that while in Flash you can just keep updating both client and server code without adding so much fat. In HTML5 you need either offer tons of different formats to support clients or stuck format supported by most which might not be best. In flash world updating is much easier, it’s just one plugin where as in HTML5 you end up updating whole browser(if current model keeps up). You seem to see HTML5 with unicorns and rainbows but lot of people see it overcomplex and keep mind it isn’t even ready standard yet. Until they fix it to stone there shouldn’t be any reason other than testing to make HTML5 websites, because last thing we need is sites that partly follow specifications like it happened in IE6 release.
I said improve an “HTML5 implementation”. The issues surrounding the HTML5 spec itself is a different set of issues—which, on the whole, I think are working. I’ve been working with HTML5 for two years and on the whole I’m very happy with it. Certainly there could be improvements (less dependence on JavaScript for new features—you shouldn’t have to use JS to do drag-and-drop upload).
The perceived view that the process “is a big mess” is FUD Adobe want spread. The process is working—proven by the fact that all but one major browsers now support HTML5 video and that’s expected to support video in the next release. HTML5 features are supported broadly and are proving a huge boon to mobile sites, which thanks to the absence of IE marketshare in this market, can use client-side storage/databases, SVG and offline access.
Uh, where does that claim come from?
You do realise that the whole “Adobe is blocking teh docs!1!!!” was FUD from the HTML5 camp, right? The procedural complaint from the Adobe employee was underscored by many others, and acted upon by Tim Berners-Lee himself. The docs have been published already, without any delays or blockage.
Of course, the anti-Flash camp, John Gruber for instance, were too less of a man to acknowledge they were wrong about the whole situation. Lame.
I dislike Flash as much as anyone else, but at least I’m capable of being honest about it – like this article shows. Let’s kill Flash by showing how much better HTML5 is – not by spreading FUD.
I’m aware the Adobe claim was the fault of Hixie, but it has worked to Adobe’s own benefit by making the HTML5 working group and the W3C seem incongruent.
Precisely what I’m doing. Lots of people are talking about HTML5 killing Flash and I’ve been presenting actual usable solutions like VfE as well my website and OSn5 that will come after it.
Flash developers will step up to the game and show the world what they have in retort, but they will always be at a disadvantage. The best they can make is eye-candy. They can’t better integrate with the user’s browser. Accessibility is poor. The user can’t veto text/link/background colour. The user can’t zoom properly. Whatever they make, no matter how amazing, won’t run on the iPhone/iPad or my computer and it’ll eat batteries on mobile devices.
Flash is an obtuse eye-candy wrapper around content that blocks that content from being managed in the way the user wants. Any eye-candy in HTML5 I can veto: http://lab.arc90.com/experiments/readability/ I can turn JS off, I can use things like NoScript/AdBlock to choose what I want to see—no such control with Flash—it’s all or nothing. I can use user-scripts and user-styles to re-purpose the content. I can mash the content. I can scrape the content. I can interpret those bytes any how I damn well please. No such freedom with Flash.
Edited 2010-03-12 11:56 UTC
Adobe acquired Macromedia at some point in 2004/2005, so, no, Adobe have not had “10 years”. Bare in mind, the focus of Flash has GREATLY changed over the last 10 years (it was originally intended as a banner/header technology, not a full multimedia/general purpose programming target), I think Adobe have actually made a lot of inroads. The Flash player still thinks in terms of “movies”, “scenes” and such. The fact it does all the stuff it does do now pretty much amazes me. Single threaded, partially interpreted and pretty much unsuited to the job.
Other thing to remember – up till version3 (or maybe 4) you needed a custom server backend to deliver the flash to browsers.
The same can be said about any current browser-/web-technology.
Absolutely, which in fact is both a good and bad thing. HTML is another example of shoe horning a new purpose on top of a platform not originally conceived to perform in the way it has evolved to. Jeez, I remember using a version of Netscape prior to coloured backgrounds and I also remember with tiled images backgrounds came about. 😉
Yes, but the default background was grey, and that was Good Enoughâ„¢
Funny how YouTube, owned by google, doesn’t play HTML5 video on Chromium on my machine. I am running latest builds in Gentoo of both Chromium and Chromium-bin. YouTube’s HTML5 doesn’t work on either firefox or firefox-bin either.
I tried Vimeo and my system came to its knees. Right now, Flash is way better. Hope that changes.
Chromium doesnt support x264 because of licensing issues. You need to be using Google Chrome which isnt out yet for linux. Firefox doesnt support x264 because of the license issue as well but supports Theora.
And flash isnt better its just your only option.
First of all, the codec is H.264 or AVC; x264 is an open source encoder for H.264. Second, Google Chrome has been released for Linux for quite a while. I believe the beta was released recently, but I’ve been using the dev channel (which is extremely stable; I’ve never had it crash) for many months now.
The Nokia N900 is a device running Debian-derived Linux and has flash with hardware accelerated video.
It’s not hat Linux (drivers) is not good, just is the hardware manufacturers can really help to make these things happen (sooner/quicker).
People with nVidia cards are right there with PCs. If the browser would just offload the video playback to mplayer, VLC, Gstreamer, Xine, etc., everything would end up working out. There seem to be many barriers to that, though.
Nvidia have tried to write an open source wrapper for their Windows binary blob graphics driver, and call that a Linux driver.
As you might imagine, it doesn’t integrate well with the rest of the Linux video stack. In fact, it tries to replace much of it.
This means that if anything needs to change in respect of how the video stack is organised in Linux, nvidia’s binary driver breaks. Every time.
So no, everything would not work out.
Happily, an open source driver for nvidia cards is coming, to finally bring an end this long-standing bug called the nvidia binary driver.
…which has exactly how much to do with using an existing feature?
Open/closed drivers and their features don’t matter so much, when the content in question stays inside of Flash, and never gets to them.
Regarding Apple; nothing has ever stopped Adobe from hooking into QuickTime and using the Apple h264 codec instead of their own built in one. The offer is there, and I am sure if they did that for an iPod/iPhone version instead of their own codec the problems would be eliminated with the only ones remaining being a matter of either optimising the scripting engine or blaming Apple for inefficient QuickTime.
Adobe could do that, but they choose not to, just like Adobe could have gradually ported their applications from Carbon to Cocoa over 10 years – yes you can mix Carbon and Cocoa together. Adobe could have done that, but like the Flash issue, they didn’t. So for me, I don’t have the slightest sympathy for Adobe.
To add further proof to what I said, Silverlight doesn’t have any of the reliability, stability or speed that Flash has. The excuse of Adobe is more about excusing incompetent programmers – and worse, anyone remember the claim, “we don’t ship Flash with known crashes” and yet there was a bug unfixed for 18 months!
Edited 2010-03-12 00:26 UTC
Adobe can’t do anything on the iPhone. It has nothing to do with technical limitations, it has to do with Apple banning any app from downloading and executing external code. Even native iPhone apps run into tricky areas regarding the use of scripting languages and the like. Apple is not really that friendly to developers on the iPhone.
[citation needed].
It is pretty damn obvious that it was a mistake; it should have said, “Silverlight doesn’t have any of the reliability, stability or speed issues that flash has”. You can thank the crappy forum for the lack of being able to edit posts after 20 minutes for the mistake.
I think it is fair to say that neither you nor me can really know whether that is actually true or if QT would be actually suitable for that particular situation.
Which is kind of true. To date, only NVIDIA 9400M can decode H.264 through QuickTime, what a shame.
Hah! One sided views make the world seem so easy! Guess what, even Apple hasn’t ported all of their own apps over to Cocoa! Some prominent examples are iTunes and Final Cut Express/Pro.
This one slipped through and they apologized for it.
Bullcrap; when they shipped 10.0 they knew about the bug and claimed that development was too far along to fix it up; many updates over the 18 months since its release and not a single one of them addressed the bug. So please, stop the crap – Adobe knew they were shipping a product with a known crash bug and for 18 months chose to do nothing about it just like they could do something about the appalling CPU hogging of Flash but instead decides to blame everyone else for their incompetency.
Adobe should be thanking their lucky stars for the fact that if it weren’t for Microsoft’s stupid stance of not providing Silverlight development tools for Mac – Flash would have been strangled and left for dead by most developers years ago.
Edited 2010-03-12 19:52 UTC
10.1 doesn’t add hardware-accelerated h.264 video on Mac OS X, but it does add hardware-accelerated scaling and vector graphics. You can read more here: http://www.appleinsider.com/articles/10/03/10/flash_html_5_comparis…
It’s nice that Adobe is ‘fixing’ the performance issues on Windows, but the truth is the problem wasn’t there to begin with.
Either their benchmarking was done wrong or with the wrong hardware/software, but Safari in OSX with an Nvidia 9400M or higher will fully decode 1080p h264 on the graphics card and only use 15% load in a MacBook.
Huh? Hardware accelerated video decoding is WAY more efficient than letting the CPU do it.
And that is what the tests confirmend (12,39% CPU usuage), whats your point?
Of course. What mckill meant, I suspect, is that the Windows Flash player was already capable of decoding video with acceptable levels of CPU usage (due to Windows-specific optimizations, I would assume).
In other words, Adobe is optimizing a version of Flash that already worked acceptably (from a performance standpoint at least) – while neglecting arguably-showstopping issues present in the Linux and OS X Flash Player releases.
Looks to me like Adobe has finally found a reason to compete…
I’m still pro-HTML5 here, since it’s the more universal and open approach to rich web media (I don’t know if official Flash for Linux on ARM will surface any time this decade for example)
But, I’m also glad Adobe is doing something about their performance. I might *finally* be able to watch smooth 480p Hulu video on my netbook with Windows
I spoke too soon… no noticeable improvement after installing the beta on WinXP.
I think it’s Vista/7 only. XP has a horribly outdated graphics stack. Time to move on, buddy .
Damn, I’d even mod you down for that one
Don´t blame Adobe in your case, Intel has pushed lousy graphics adapters for years and they are worse in Netbooks. Adobe just uses what the OS has underlying and that is DirectX, the fault in your netbook is the Intel graphics adapter not Adobe.
Except I can play fullscreen video with VLC in Windows just fine… so I’m not willing to concede that it’s a hardware/driver issue, or even WinXP.
Perhaps I’ll try grabbing some different 480p/720p versions of Big Buck Bunny to find out what combination of size/codecs causes my problem.
Edited 2010-03-12 15:50 UTC
Let’s cut the crap, ok?
The greedy leeches at Adobe have no excuse.
They had lots of time, shitloads of money and open standards and code as helpers to produce something less despicable. They have failed.
And because these idiots failed what should I, a consumer, do? Change my OS, buy dedicated GPU because they are incompetents? No, thank you, I will keep hating and avoiding them.
Well Windows owns 95% of the desktops. I guess they aren’t worried about that remaining 5% that much.
I’m sure they already know you don’t want to change your OS but don’t care about it all that much.
But people change their phones as much as every six months.
If it wasn’t for the iPhone then there’s no way that 10.1 would exist on so many handsets. Adobe are having their air supply cut off and they know it.
Microsoft didn’t tout Flash as a feature at all when they announced the HP Slate; now that the iPad is out of the bag, it seems Flash is the Next Best Thing™.
I wouldn’t count Adobe out just yet, though – they have the advantage of inertia, in the form of large amounts of existing content published in Flash. Apple has the tougher battle, I think, because they have to fight Flash’s inertia and convince people to switch away from something they’ve already invested money and effort into.
If Adobe’s smart, it wouldn’t be that hard to turn the situation to their advantage. With the current smartphone landscape, Adobe’s best bet would be pitching Flash to the iPhone’s competitors as a competitive advantage (by way of differentiating their device from the iPhone, and providing access to content that the iPhone can’t view).
If Adobe can get the other major players on board, that would leave Apple’s handheld “platform” as the odd man out. Essentially a “divide and conquer” strategy, except that Apple has already taken care of the “divide” part.
I use Windows, If I get a choice between using a Flash based website and a HTML5 one I will choose HTML5 every time.
Just because Adobe fix this one issue now, doesn’t mean people will instantly forget how bad Flash is and was.
That’s the thing. They do the minimum and charge the maximum. They still haven’t produced (through CS3 that I have) a version of Photoshop that goes idle (0.0%) properly on Mac OS X. That would be 4 versions running on the operating system (version 7 to CS3) and only CS3 is moderately okay.
Core Video has been available since Mac OS X 10.4 (around 6 years?) and they chose to ignore it and Quartz, and basically anything else that was new to Mac OS X (or 9 or 8 most likely).
You’d think that they’d want to be the best, not just another psuedo-monopoly.
Except they don’t have to because they do run a quasi monopoly in the graphic/design market. Only Indesign has a serious competitor and the fact that Quark pissed off a lot of customers up until a few years ago doesn’t make this look any better.
You are comparing accelerated flash to nonaccelerated HTML5. You forgot that javascript is still going faster (lastly in Opera). HTML5 have native video tag which is pretty fast but it still only accelerate only scalling and color conversion. Decoding in most situations are completly CPU side. On linux there is currently XvMC (which is working only with MPEG2 currently), and VDAPU by nVidia which are gaining momentum, and this can be accelerated. Things like vector graphics are still done mostly on CPU, only some really simple things like solid vertical lines are sometimes done on GPU by X11 server.
Even VEGA in Opera is currently completly software restarizer (and it is ultra fast!). But VEGA will be ported to OpenVG/GL, and then it will only become faster! (OpenVG is already partially supported in Gallium drivers). So for example scaling, rotating image, chaning transulency, drawing on canvas of primitives will be done mostly by GPU!
What is most annoying about Flash is that it is separate component from the browser, integration isn’t so nice and smooth with other components (i.e. images, or SVG) on the page. It also eats lots of additionall memory. It also starts pretty slowly, and adds addtionall point of failure. All this make Flash pretty bad, especially for older hardware. Even input handling with Flash is problematic becuase it steals keyboard focus and sometimes mouse scroll is also not working when cursor is over flash content.
And last important thing pages written in flash are practically impossible to index properly or adress by search engines.
Edited 2010-03-12 02:19 UTC
As a enduser, I really don’t care whether the video is rendered with HTML5 tag or with any plugin like SilverLight/Flash.
I have two concern with Flash plugin
(1) Crash, flash crashes my IE atleast once a week.
(2) Memory Eater, If I watch a videos in Hulu,CBS or Youtube continuously for long time it consumes more memory.
Adobe should improve on this a lot to make me happy
My issue with HTML 5 is that they have yet to tackle the issue of fullscreen video. I support native players in browsers but think that they should be programmable so that developers can add their own controls like flash and silverlight. There are a lot of things still missing. Even in as early a state as it is now I still prefer it over flash or silverlight anyday. I just think that the spec needs work and that certain issues need to be resolved as all use cases have not been met or addressed.
…HTML 5 has the capability to fix that issue.
You do it by not giving the developers any control what-so-ever, beyond a tweaked in-page UI. Then you, with your web browser, that can pull and decode the video as it pleases, can manage any kind of viewing you desire.
You know you can change styles visible on web pages? You can make fonts bigger, smaller, use a different face, set colors, allow and disallow certain things. Video defined by pointing to a video file offers the potential for complete end-user control over audio and video, but without using clunky rip-the-video addons and other such things.
Your “issue” just needs wider adoption of the feature, so that everything can get ironed out, including browsers getting AV-specific UI workflows figured out–something that Flash has been good at preventing.
Edited 2010-03-12 04:59 UTC
Firefox 3.6: Right-click on video and select fullscreen.
Safari Nightly: Button is on the default video toolbar. SubmlimeVideo allows you to Option-Click the fullsize button to go fullscreen.
What’s missing, is being added. You don’t have to wait for Adobe’s blessing for new features to appear in browsers.
Whilst it is true that webkit nightly did, for a while, support fullscreen for video, that feature seems to have gone walkabout. I haven’t managed to establish exactly when or why this feature went missing.
In general the problem is the thinking that everything must be embedded in HTML/WWW. It leads from problem to another.
That said, who cares about performance when the other is a privately owned technology and the other is an upcoming standard?
But I don’t blame Adobe. It is you, web developers, who brought this crap over all of us. It is you, web developers, who thought it would be a good idea to require Flash also in things like banks and national agencies. You, web developers, and the incompetent W3C.
Edited 2010-03-12 03:45 UTC
Proprietary graphics drivers for Linux either leave support for video acceleration out, or they provide an API which is relevant only to the graphics cards of one supplier.
For the open source drivers, there are no specs released for video accelration for ATI cards because, apparently, such specs would reveal on-card provisions for copy protection of video to open source programmers, and the hollywood-powers-that-be have specifically disallowed that to happen.
So, the best bet seems to be Gallium3D.
http://en.wikipedia.org/wiki/Gallium3D
This could give all Linux programms access to a common API for graphics cards, regardless of the graphics card vendor. GPGPU, programmable shaders or something called the soft-pipe driver could all apparently provide a programmable decoder function, capable of decoding any video codec in the GPU hardware (not just one or two codecs with specific support built in to the card).
Unfortunately, this is not ready yet.
http://www.phoronix.com/scan.php?page=news_item&px=NjcyMA
For my own video card, it is particularly lacking in support:
There is light at the end of the tunnel, however:
Happily, Gallium3D support is almost ready for Intel cards, is well under way for nvidia cards via the nouveau open source driver, and is started for ATI cards:
http://www.x.org/wiki/RadeonFeature
The Gallium3D Software Passthrough (softpipe) has been completed for ATI cards that support it, and for my R710 card the Gallium3D Core Driver is Work In Progress.
When Gallium3D support is finished, it should become the preferred method of video hardware acceleration in Linux. All video programs (either video players, or HTML5 or Flash in browsers) should then be able to support any codec (Theora, Dirac, x264, maybe even VC1) on any platform (Intel, ATI, Nvidia).
That is the eventual aiming point, one would think.
Edited 2010-03-12 04:25 UTC
When Gallium3D support is finished, it should become the preferred method of video hardware acceleration in Linux. All video programs (either video players, or HTML5 or Flash in browsers) should then be able to support any codec (Theora, Dirac, x264, maybe even VC1) on any platform (Intel, ATI, Nvidia).
Indeed, Gallium will provide the means for general wide-spread video acceleration on all Linux systems, and even very low-end cards can accelerate atleast parts of the process. The plan seems to be to use GLSL for most operations and to use vendor/card specific features only when it makes more sense. As such once Gallium itself is finished it should be fairly easy to get acceptable video acceleration working on almost any accelerated graphics card.
Should be fairly interesting to any video enthusiast using Linux Now if only Linux weren’t such a mess and I could actually get it working properly…
I think back to Internet Explorer 6 while reading this. Microsoft did something with the browser when they simply had no option to do anything else. I think you can say the same about Adobe’s flash.
They have had years to fix this.
how long have users been complaining about flash performance? just goes to show that adobe has indeed fallen into the same monopoly trap as microsoft. they rule the market and now that their dominance is seriously threatened they finally do something about long standing criticism.
if now they’d only get some real competition in the creative suite field.
also, what hardware does apple use in their macs? right, it’s what used to be called “standards PC components”. so the question is really: how hard is it to implement hardware acceleration on standard PC hardware that runs an operating system other than ms windows? my answer: they didn’t care so far but are forced into action by the whole html5 thingy.
call me fanboy, call me hater, i don’t care. i’ve just really had enough of this “adobe experience” in the last 10 years. want an example? i once truly hated quark for their sub standard software and negligence of their customers. then came along adobe with indesign, i was full of joy. few years later i was, once again really turned off by bad software quality and a we-don’t-care mentality towards customers. at that point i did what was unthinkable just a few years before: i rejoiced at the thought that there was even a slight chance that quark had finally gotten their act together and would give adobe a real competition.
in a nutshell: adobe, like any other large company with large market shares, need someone to kick their butt for them to improve things for their customers. sad but true.
Another story to watch unfold over time. Now that HW accel. is available on Windows for flash, 90% of the computer users out there will be happy and satisfied… leaving geeks, FOSS folk and Apple consumers to shoulder the burden of advocating HTML5 and other display technology to combat the Flash swiss cheese. (Sorry – I shouldn’t use swiss cheese in a derogatory fashion since I actually like swiss cheese, but you get the idea).
I envision MS dragging their feet a little bit, Apple hacking away at Adobe’s reputation, etc. I wonder how quickly the use of HTML5 will advance and whether or not Flash can ever be bumped out of place.
Has anybody tried 9elements Canvas/JS with the latest Firefox nightly? It is very smooth and uses a lot less than 50% cpu of 1 core. But Firefox 3.6, Opera 10.50 and Chrome use 100% cpu and are not smooth. Really weird.
I just thought of why: I have direct2d enabled (at least I think that’s why)
Edited 2010-03-12 17:57 UTC
What an uninteresting, shallow article.
Accelerated video is nice, but Flash sucks in many other ways, and hogs resources also when it is not used for video.
Hogging the processor while *watching* video is not *that* bad. What totally sucks is when it takes over the procesor and memory with ten different instances that are executing ten shitty ads you did not want anyway, and that you are not even looking at.
As for web apps, it would be interesting to see how the ones in Flash compare to the latest ones in Javascript, but it is impossible to do an apples to apples comparison.
And yet, no matter how efficient the non-flash stack ended up being, there is no easy to use IDE for HTML+SVG+Javascript — certainly nothing remotely comparable with Adobe’s.
So, accelerated video? No biggie. The rest remains as good and as bad as before.
You didn’t really read the article, did you?
Yes I did, (and re-did, and I still think the same).
The article is squarely centered on video performance, it states that “common wisdom shows signs of serious breakage”, it insists that “the deciding factors on Flash performance is most certainly the availability of hardware acceleration”, it devotes one short paragraph to say that comparing the scripting side is difficult, tells nothing about web apps or improved script execution engines.
Sorry, but I do not think this was one of your most insightful articles.
Edited 2010-03-13 12:52 UTC