Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Apple historically argued that Flash was power-hungry, which made it inappropriate for use on mobile devices.

I always thought that was just bluster excusing Apple's exclusion of Flash support from their mobile devices.

But now I see that Adobe acknowledges that Flash is a pig. Why is it a pig? Are there bad programming approaches (that can be explained in layman's terms) that make it so power-hungry?

share|improve this question

closed as not constructive by Ƭᴇcʜιᴇ007, haimg, Nifle, Simon Sheehan, surfasb Nov 11 '11 at 21:36

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

    
Probably because it was designed to run on desktop? Have you tried running any desktop applications on your iPhone? –  surfasb Nov 11 '11 at 21:37
    
@surfasb Running Flash on laptops drains their batteries too. –  ZippyV Nov 12 '11 at 0:05
    
See "Why does flash video consume so much CPU?". –  JdeBP Nov 12 '11 at 0:56
    
@ZippyV: My point, exactly. –  surfasb Nov 12 '11 at 2:50

3 Answers 3

Mark Russinovich (from Microsoft) said in a PDC talk that certain 3th party applications increase their timer frequency which is the reason why battery performance goes down the drain.

http://channel9.msdn.com/Events/PDC/PDC09/P09-20#time=0h50m50s

(Skips automatically to 50:50)

share|improve this answer

I don't think Adobe acknowledged that flash was a pig (I didn't see that written anywhere), only that moving to emphasize HTML5 for mobile was a better business decision given where the market is now so I don't agree with that part of your question.

Since HTML5 continues to evolve, one has to know that the handwriting was eventually on the wall for flash anyway as a standards-based and natively supported in newer browsers solution should win-out over a 3rd party plug-in in the long run. Adobe is just taking the first step in that direction now with mobile. Microsoft is rumored to be about to do the same thing with Silverlight for largely the same reasons.

I think Apple's main beef about power usage was in playing video. Apple's first iPhone was highly optimized (including hardware optimization) for playing video efficiently. Flash was a general purpose engine that was not optimized for Apple's hardware so it wasn't nearly as power efficient when playing video. Since Apple was trying to make the original iPhone a device that you could watch a full length movie on, this was very important to Apple.

I'm sure this was a solvable problem for flash (to optimize it for Apple's hardware) if the parties wanted to do that, but for whatever reason, Job's decided he didn't want to go that way.

share|improve this answer

Flash (at least, until recently) typically does not support simple forms of hardware acceleration, which means that all of its calculations (graphical and otherwise) are done entirely through the device's CPU. Without anything else offsetting the work, this means that the main CPU (one of the most power hungry devices) will constantly be running at high loads, eating battery life at a significant rate.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.