Why does Flash suck on OS X?
23

Why does Flash suck on OS X?

Apparently Flash 10 isn’t much better than the previous versions of Flash in terms of performance on OS X. Anyone ever read a decent technical explanation of why that’s the case? Is it that Adobe just doesn’t put the effort into optimizing the Flash player on OS X that they do into optimizing it under Windows? Is it that there are APIs that Adobe takes advantage of under Windows that aren’t available in OS X?

I’ve never seen a really good explanation for the disparity.

The reason why I wonder if it’s something endemic to the Mac is that I’ve seen similar complaints about World of Warcraft performance. For example, here’s a comparison of World of Warcraft performance between the game running under OS X and on the same computer running Windows via Boot Camp. The performance is substantially better under Windows.

23 thoughts on “Why does Flash suck on OS X?

  1. Adobe has a track record of writing poorly on Mac OS X. Even their flagships like Acrobat Reader are afflicted. It is painfully slow and renders poorly when compared to Preview.

    I would suspect one of three alternatives:

    • They use a cross-platform library that favors windows.
    • Performance is not a goal.
    • Their Mac coding group needs their sights set higher.

    My personal guess is the last one. If a group of coders thinks 5.7 is good, then until someone shows them 15.6 is possible they will continue to hover around 5.7.

  2. Welcome to my world. Adobe Flash has always blown on Linux. Always. Now that I’ve got a 64-bit machine, I’m mired in a whole new panoply of pain, since they also don’t see fit to release 64-bit versions of their plugins; preferring (I suppose) to remain believing that it’s 1995.

    Acroread is no better. I’ve taken to running a 32-bit installation of Ubuntu in a VMware session just to get around the problems with that plugin.

  3. Perhaps it’s an OpenGL vs. DirectX issue.

    Apparently the guy with the WoW stats ran the test using DirectX in XP (which is the default). There is an option to run it with OpenGL, which would have provided an interesting datapoint – is it the OS or the graphics API that accounts for the performance difference?

    Although I wouldn’t think something like Flash would be as affected by OpenGL vs. DirectX, so maybe it’s not related to the graphics API.

  4. That’s odd — under Ubuntu, Flash 9 is practically unusable, while Flash 10 is exponentially better and faster (at least while using an nVidia card.) Using Flash 9, you can’t even view a low-res video in fullscreen mode smoothly, but with Flash 10, it runs great.

  5. Thanks for asking the question in a thoughtful way. Here’s the deal, as I understand it: Adobe spends more time optimizing Flash for Windows than they do optimizing it for Mac or Linux. Sorry, they have 90%+ of the users, this is what makes the most business sense.

    Beyond that, though, there are some significant technical differences between the two systems that account for some of the performance differences:

    • DirectX does allow you to get much closer to the hardware than the OpenGL interface on the Mac. That is the major reason games have such a performance disparity running on the same hardware, but it applies in Flash’s case as well.
    • Another issue is video driver performance. The chip makers spend a lot of time tuning their windows drivers for the best possible Windows and Windows game performance, and much less time tuning their Mac/Linux drivers. So performance suffers.
    • This one is probably less of a factor than the others, but OS X’s micro-kernel architecture (what’s left of it, anyhow) does extract a performance toll relative to Windows. That should not be the case on Linux, though.
  6. My beautiful new 20″ iMac averages FPS in WoW high enough that a difference of 6 isn’t meaningful (to my eye anyway).

  7. The problem isn’t just Flash. Absolutely all Adobe products suck either mildly or hugely in terms of performance on everything from Linux to Windows. Optimiziation is obviously not where Adobe is focusing its energy. Adobe Reader is the best example of this with its one minute startup time and 33.5 MB size (Foxit Reader starts in a second and is a 2.57 MB download).

    When it comes to WoW performance, I don’t have the faintest idea why it should run faster in Windows than in OS X on the same hardware. I guess Apple should invest more time in the gaming experience on their platform, focus more on games and include game developers in the loop on future versions of OS X. I know Microsoft does this and although their focus have shifted more in the direction of Xbox 360 as of late, their long-time investment in “Games for Windows”, DirectX, etc., surely and understandably has payed off.

    Apple both can and should do exactly the same to make their platform as great to both gamers and game developers as Microsoft has done with theirs.

  8. I would recommend that we move off of proprietary type of things and move to more open source stuff that the open source community can optimize. Adobe and Apple have a strained relationship. Adobe needs Apple more than Apple needs Adobe right now. If Adobe wants to continue their flash dominance then they had better get on the stick. The developers that I work with are now using other more open technologies than flash to do their work. There is a reason why Flash is not an option on the iPhone….. It is no longer needed.

  9. Some Adobe engineer revealed several months ago, that Flash had been spending a huge fraction of its time measuring and remeasuring text, in a most inefficient manner. This had been going on for years before he made this observation. Which meant, nobody at Adobe had bothered to run Flash through a profiler in all that time. Profiling on the Mac is extremely easy, and has been easy for many years.

    It would have taken all of 10 minutes to track down the top 3 bottlenecks in Flash, if they only could be bothered.

  10. To back up Brad, one of my favorite sites, ign.com has updated their interface so that it doesn’t depend on Flash. As a result, it’s a LOT more useful on the iPhone AND the desktop (I like having the option to right click a link and open in a new tab).

  11. Speaking simply about Flash, Adobe’s development record so far since their acquisition of Macromedia and it’s crown jewel Flash has been very poor. Adobe seems content to merely milk this cash cow as they’ve done recently with their own Creative Suite apps.

  12. It’s depressing to have to read speculative articles on why Adobe, or any other company for that matter, may or may not favor one platform over another.

    Why can’t the author perhaps find an Adobe technician who has compared performance differences among platforms/setups and report that, otherwise suspicion remains that Adobe is sandbagging on purpose, for whatever reason, against Apple because we have precedent in one developer for Mac actually — it was Ballmer –admitting to crippling Word for Mac.

    Let’s just be up front with with it.

  13. “other more open technologies than flash”.

    Brad,

    could please give more details of these technologies?

    Thanks!

  14. Regarding WoW, the article you reference is old (4/2006). In 12/2006, Blizzard released an update that enables multi-threaded OpenGL on Intel Macs (running Tiger or higher). Do a google search and see the details for yourself. The performance advantage was removed. DirectX is not inherently faster than OpenGL. People need to understand there is a difference between OpenGL and Apple’s implementation of OpenGL. As others have mentioned, driver performance can also be a factor.

    Regarding Flash, I think it’s best to just acknowledge that nobody outside of Macromedia/Adobe knows. There is nothing to suggest the difference is due to technical issues between the two operating systems. Common sense would indicate that Adobe (and Macromedia before them) have not bothered to optimize Flash for either Mac OS X or Linux.

  15. I think Flash ALSO sucks in Windows, at least in XP.

    As for Adobe Reader: on the Mac, it’s not a huge issue because Preview is enormously better in speed, launch time, and usability, anyway. Is there a PDF reader anyone really likes in XP Does anyone know of a good PDF reader in XP/Vista?

  16. My understanding from a discussion with someone on the Flash engineering team when Flash Player 9 was coming out, is that it has to do with the vastly different graphics layers on the differently platforms. Basically I was told that it takes a lot of work to tweak the player to use the OS’s APIs so things render quickly and have access to the hardware. To do this for one platform is one thing, but to do it equally for both results in player bloat and obvious time and energy costs.

    Apparently they’re working on a unified solution that will be similar to a write once deploy everywhere solution meaning more comparable performance on both platforms, but just weren’t there yet.

    So it’s not that OSX isn’t capable, it’s that the player code isn’t taking proper advantage of its custom APIs because most tweaking is done for the OS with the larger market, ie Windows.

  17. It’s important to remember that Flash is essentially early 90s technology – they’ve made many improvements, of course, but the assumptions about what is and isn’t fast have not held up as well on OS X, particularly since Vista hasn’t caught much whereas every single Mac Flash runs on has the full Quartz UI. Flash does seem to have become more reliable but for years it was reviled by Mac developers as the biggest source of crashes in WebKit applications (e.g. http://inessential.com/?comments=1&postid=3432)

    http://www.craftymind.com/guimark/ has a number of interesting comments from people at Apple, Adobe, etc. The one which I find most telling is that since this was published in May WebKit is now actually about 40% faster than Flash 10 on my system (for reference, Safari 3.1 =~ Flash / 3) — I think that performance delta is going to expand as WebKit, Chrome and Mozilla all start to benefit from the fact that their development is both faster and a lot more quality oriented than Adobe’s. (Having just completed a Flash project, I was surprised at the number of newbie bugs in CS3 – it really reminded me of Windows software development circa 1996)

  18. Well, OS X running WoW is so much faster as the beginning, cause of multithread stuff. If it was Directx in windows well, the test isn’t accurate but now I really doubt that in windows runs faster than in OS X. In WoW OS X there an extra feature that the windows pc does not have. Video Recording

  19. It’s my understanding that Apple may wish to fix this with QuickTime X Player, just like how frustration with Mac Office products has driven to build their own support for exchange on iPhone & now further that with Snow Leopard.

    I could be way off base here but many of these flag ship companies like Adobe have been in the pocket of Microsoft for many years now & so they do enough to get by & not appear obvious about their lack of support for Mac or Linux but they are after all profit driven more than anything. The introduction of iPhone & even the new BlackBerry OS has been rapidly changing this.

    I predict that within the next 5 years we are going to see a sharp move by web designers towards using a lot less flash & using more HTML 5 & other more modern web standards. Video will likely adopt optimized H.264 as it blows the pants off flash & is unbelievably customizable as a video streaming solution.

    As far as game performance goes, it’s simply an issue of everything graphics related being designed around DirectX. Most video chipsets support OpenGL as an afterthought, but this is rapidly changing as well. OpenGL has made many advances with the popularity of OS X growing & it’s strengths are beginning to shine through. By the way, giving games more access to hardware is why many windows games can crash your whole system when they hang up but on OS X they just crash. Apple is hoping the rectify some of the optimization issues related to OpenGL as an afterthought with the release of Grand Central. Apple will do the optimization & developers will just need to know how to access the APIs. We should see much better optimization going forward.

  20. All I have to say, is that flash doesn’t work well on PPC machines anymore. It works just fine (not great) on Intel machines. Yay.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>