Hacker News new | past | comments | ask | show | jobs | submit login
Full Flash Player 10 for Q2 2010 on every major smartphone except iPhone (informationweek.com)
54 points by tomsaffell on Oct 5, 2009 | hide | past | favorite | 39 comments



I think Apple's hoping that video will start being done through HTML5 - or at least that sites will offer HTML5 video via H.264 as an option. For many sites pushing Flash video already in H.264 (as my organization is), this would require minimal changes.

This would be great for me as Flash usually uses around 90%+ of one core on my box to decode video while other media players (QuickTime, VLC) use a third of that. This is going to be hard for a lot of handhelds and hopefully that will lead HTML5 video to offer a much better experience on mobile devices.

Adobe knows that if they don't get Flash out for mobile platforms, Flash is going to be left out of the next push on the web in favor of Ajax and HTML5. So, while Adobe does dominate a lot of things right now, their position is tenuous.


> Flash usually uses around 90%+ of one core on my box to decode video

Is that on a linux box?


Anywhere but Windows. Flash is especially pathetic on OS X (and mdasen referred to QuickTime).


Windows flash sucks too. Hulu at 1920x1080 on my Tv uses 100% of one core to play back video that windows media player can do with 5 to 10 percent utilization on a single core.


Actually yeah. I cannot watch Hulu videos in fullscreen on Windows, but I can on my Mac. This is a dual-boot setup btw, so identical hardware...


My MacBook's core temperature goes up 80ºC (~176ºF) when playing Flash video (Vimeo, Youtube...). This doesn't happen with HTML5 embedded videos, or just standard H.264 or XViD videos.


http://rentzsch.github.com/clicktoflash/

This lets you play Youtube videos via Mac OS X's built in decoders in Safari. Plus it's a general Flash-bocker. I love it.


Most likely QT is doing hardware decoding of the HTML5 /h.264 embedded videos while Flash video is being software decoded using the on2 codec on the main CPU.


My Mac does not do hardware video decoding. I can run 8 (!) 720p h264 videos in QuickTime at the same time with less than half cpu usage. I can't run a single one in Flash at full speed.

Flash just sucks terribly, that's all.


My Core 2 Duo (2.2 GHz) laptop on Vista does the same with an extra: increased fan speed and thus increased noise. Waiting for the holiday season to get new one on cheap (I hope) and I am hoping someone at Adobe can't sleep at nights over this!


I can have 3/4 flash-apps running (like facebook games, etc) with no appreciable effect on my 3 year old Dell Inspiron 9400, which doesn't have an ATI/nVidia chipset. I upgraded the ram, but only to 1 & 1/4 gig (maximum is 2 gig) from 512 meg. It's a core 2, 1.66 ghz, totalling ~3.3 ghz.

I'm unsure how anyone's system can be hitting 90% on one of their cores if my 3 year old machine barely hits 10% of a core when viewing solely a HD youtube video. Chrome (including Flash) was hitting about 50% earlier with two facebook games loaded up and a HD youtube video running.

Flash is unseemly solely because it doesn't multithread, that's the only support that needs urgently implementing. H.264 through HTML5 is a pipe dream and likely to be unaccepted for a long period of time, content providers like Youtube and Hulu aren't going to allow or be allowed to provide their video in H.264 as it's simply far too easy to download.


You can already rewrite Youtube pages to play the exact same video via HTML5. I linked to the plugin you need elsewhere in this thread.

So Youtube in flash is already "far too easy to download" and Flash's "encrypted" streaming mode has been broken too, though it turned out not to be that protected anyway.


Windows flash seems to have better performance than linux or mac. I have dual boot older Dell and the difference between Windows and Linux is significant. Same holds for my triple boot netbook: linux and mac are much slower than windows.


Isn't YouTube already available in H.264 for at least a year or two?


H.264 through HTML5 is a pipe dream and likely to be unaccepted for a long period of time

It is already supported in every browser except Internet Explorer.

content providers like Youtube and Hulu aren't going to allow or be allowed to provide their video in H.264

YouTube already provides their video in H.264. The Flash player is just a way of decoding what is otherwise a regular H.264 video file, which is exactly as easy to download as any other.


I think Adobe is still relying on the fact that presenting videos in Flash players still prevents the casual user from simply downloading the video. This is something media corporations still care about, and conceivably will keep caring about until there is a radical shift in their business models. Maybe I don't understand the H.264 standard well enough, but I don't see why HTML 5 engines won't just provide a "Save media as..." option in the context menu just like they do now for images. Unless HTML 5 provides a way to at least partially control the distribution of videos, I think Big Media will opt to stay with Flash.


Why doesn't Apple just implement something like ClickToFlash in mobile Safari? In other words, why doesn't Apple just provide the video experience while leaving Flash out of mobile Safari? (Without leaving Safari and going to another app.)

EDIT: I think I know why: poor Flash performance combined with the superior mobile user experience of a specialist app!


surely there is more to flash than video. all those stupid sites with navigation headers, or worse, complete splash/intro screens that you can't get past without clicking somewhere on the flash applet.

it's hard to navigate pretty much any car manufacturer's website these days without flash.


I think it's very unlikely that mobile Flash 10 is going to offer acceptable performance on current generation hardware. So we're probably looking at 18-24 months from today for the market to cycle up to the point where a $99 SmartPhone can handle Mobile Flash 10. On top of that you have to factor in all the legacy devices out there and their lifespan before being replaced with more capable devices. Can Flash really survive the next 2-3 years with a very limited mobile presence? It seems to me most of these devices are going to end up having better support for HTML5 and other emerging technologies much sooner. I suspect by the time Mobile Flash is remotely usable it will primarily be a legacy platform.


I realized I slightly butchered the title (to get a date in and fit to length).

Adobe's plans are that there will be Flash 10 on some devices in the first half of 2010 - all other major platforms (excl. iPhone) are planned, but perhaps not for the first half of 2010.


It might be there, but it won't necessarily be good.

Flash still stutters on Atom-based devices.


Flash still stutters on Core 2 Duos, in my experience...


Flash only runs on a single core, and most Atom's have the same processing size as a core on my Core 2 (1.66ghz x 2). This means any very intensive flash will still max out a processor, which is why flash urgently needs to implement hyperthreading to alleviate this process, until it does it's in risk of replacement in some areas of its market.


You clearly have no idea what you're talking about re: concurrency. If mentioning cores repeatedly (and summing their clock rates) wasn't enough of a giveaway, proposing Hyperthreading in userspace is just hilarious.

The problem with flash is not that it's single-threaded -- it's because NSAPI plugins run in (and block) the main() thread!


I guess you mean NPAPI.


Adobe really needs to hyperthread their Grand Central dispatch cores with Erlang or they're not going to get anywhere.


Atoms do not perform as much work per cycle as the Core 2 series. They are still at a disadvantage.


Indeed. My few-year-old Core 2 duo @ 1.44Ghz (I think) is much faster than my newish Atom netbook. Power and cost savings does not come for free.


A question for people who are more knowledgeable than me about Flash and Actionscript -- from whence do these performance problems originate? Is it primarily Macromedia/Adobe's poor technology causing the problem, or is it developers writing really bad Flash applications? Or is it some other bad integration layer between Flash, the browser, and the hardware?


A) Macromedia + Adobe = :(

B) Some flash video player wrappers are much worse than others. Hulu's is particularly slow, Comedy Central's basically refuses to work on Linux.

C) Flash has to do the YUV->RGB conversion internally so that it can composite your poorly-conceived UI on top of it. It's almost immune to hardware acceleration (except in full-screen mode). Then it has to run in the main() thread of an intrinsically memory-gobbling application.

D) All of the above


A bit of everything. Obviously the software vs hardware decoding of video is a major factor, but you'll also sometimes find ads/animation causing a huge CPU spike. This is almost solely due to a Flash Designer/Animator creating the flash movie, they tend to just bump the frame rate up to something ridiculous like 60-90 fps to get smooth animation, and also overuse onFrameEnter event handlers which can be attached using the timeline.


It isn't video decoding per se: the .flv videos are merely containers for real video encoding formats, and playback alone shouldn't eat considerably more cpu than with other players. Of course, if you have video decoding hardware you can even offload the heavy number crunching to that unit which kind of gives you "free" video except for any memory I/O overhead for video stream and buffering decoded frames.

Flash runtime seems to be pretty slow, as for animating and as for executing ActionScript itself. I don't know how much AS3 helps in that, though. Compositing in Flash can be pretty heavy: SWF videoplayers often have a mix of layers for controls, progress bars, advertisements etc. that all have to be composited on top of each other. Even worse, the SWF videoplayer might be set to run at 40 FPS or 60 FPS eventhough the video itself runs only at 25 fps, for example. This means that Flash tries to render much more and more often than is needed for the video alone. This all happily cumulates: even if we can decode video frames fast enough, the frames still have to be synchronized through the choking Flash core and compositing which may be running late, causing delayed or dropped frames, jittering, unresponsiveness etc.

If we played H.264 videos via HTML5 and JavaScript/CSS, I suspect that websites could (and would!) still program their videplayers to do too much and eventually choke on scripting and rendering. Similarly, I guess it's possible to create a lean&mean Flash videoplayer that just basically shows the video layer at the video FPS and nothing else.

Disclaimer: I work on next-gen smartphones in a closely related field. YouTube chokes my EeePC 901 on Ubuntu; it runs much better on these little next-gen devices where practically anything graphics related is being accelerated.


There are any pitfalls in Flash development when it comes to performance and some of them are very difficult to keep in check. With the right knowledge and using a few tricks, Flash can be blazing fast. However, a lot of Flash developers do not come from a programming background, so it happens too often that they don't have the knowledge to master Flash. It takes a while to learn how to properly handle things like garbage collection and memory management (partly due to Adobe's documentation being sloppy as well). If all you do is "hit the bug" banner ads, it is unlikely that you have the time or the need to dive that deep.


They can't even get Flash to work well on the desktop. Video performance is abysmal. Sure, it's possible that they'll get their act together for the mobile versions, but it seems unlikely. And that is a very good thing.


The more I work with Flash the more I see glaring faults that will probably never be resolved:

-Lousy internationalization(showstopper language-specific input bugs have remained unfixed for a year+)

-Inconsistent API access(For example, you can load a Sound from a ByteArray, but not a Video.....), new features are arbitrarily exposed via one of the Flash IDE, AS3 APIs, and MXML and not necessarily the others.

-Default fonts fall back on system fonts. Hence many swfs render text incorrectly, sometimes illegibly, on platforms lacking the fonts they were built for.

-Major performance variations across platforms. Using lots of alpha transparency for your game? Then say goodbye to Linux, because alpha is absurdly slow on that platform. (Plus to rub salt in the wound, since there's no palettized, colorkeyed transparency, that's kind of the only option for most layered effects.)

I have this dim hope that the JVM will somehow reemerge as a strong browser gaming platform, as it has great modern languages and tons of libraries and infrastructure - putting it technically well ahead of any other option I know of, but MS played that crucial king-maker role for large-scale deployment of Flash early on; nothing points to that scenario ever happening for the JVM. So if you want to reach the largest gaming audience possible Flash is still going to be "it" for the foreseeable future.


Interesting info. What is your opinion of the prospects for browsers with canvas, O3D, etc. as a gaming platform?


There is a strong possibility that a platform using Javascript and some combination of canvas/O3D/other APIs will emerge in the next decade. But it will take a while and not all the pieces are visible yet, because you need to support several I/O components beyond fast graphics to have a really credible game platform:

-user file system access, low-level networking, swf or jar-style data & code bundles

-input devices: keyboard, mouse, gamepad...graceful coordination of input between the rest of the browser and the game is needed.

-sound and music, preferably with abilities to do runtime sound generation and processing

Missing one of those isn't necessarily a showstopper, with the right kind of game, but together they put severe constraints on what can be built and how easily it can be distributed. Flash has very gradually and awkwardly added some degree of support for all of these things, but its origins as a graphic design and animation tool still pollute the design, even with the major refactor of Flash 9 and Actionscript 3.

The JVM platform is a lot more self-consistent and it has solutions for all of this stuff right now, hence why I'm more hopeful about it than a Javascript-based solution, or another plugin like Unity.


Thanks for the response. I wonder what percentage of users will have the JVM installed in the future; maybe it depends on Oracle's plans.


I for one am happy that there isn't Flash on the iPhone. If it could be garenteed that it was only delivering a video, than I would tolerate it.

General Flash use on my desktop is annoying, but on an iPhone it would be way worse. Plus not having to download the extra content, which really ends up being useless anyways is a waste.




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: