Dear Flash plugin, love OSX
codesketch.com
codesketch.com
And alas, it feels like that "is" part gets just a tiny bit smaller every day. For all its quirks and annoyances, Flash is a great environment and it opened the door to really rich web experiences long before the W3C ever imagined them. It still has a lot of advantages today, but the W3C is quickly catching up, and I get a definite sense that Adobe is losing the focus that Macromedia once had. They're continuing to develop Flash as if today were just a futuristic version of 2003. But Flash isn't going to stay relevant in a vacuum.
One of these days, someone (maybe even Apple) is going to come out of nowhere with a beautiful, visual HTML5 Canvas + JS authoring suite and Adobe is going to realize just what they've been taking for granted. And by then it may be too late.
Suddenly, Safari didn't slow down or crash unexplicably, fantastic.
img[src$=".gif"] { visibility: hidden; }I'm not sure if Privoxy was downloading the whole image in the background in order to extract the first frame, and I don't know if deanimation used less CPU or RAM than just displaying the animated versions, but I loved the feature regardless.
Since crashing Flash has become relatively painless in recent times (just reload the browser) I still leave ClickToFlash on, but it's a strange behavior nonetheless.
I don't feel the need of ClickToFlash on Safari.
The problem I have with ClickToFlah or Flashblock is that you can't see the first frame of a flash video.
On the slowness front, maybe Flash is slower on Mac, but it's hard for me to fault Adobe on this either (even as a Mac user). If I had finite resources, I too would allocate more of those to the majority platform.
<em>"In Flash Player 10.1, H.264 hardware acceleration is not supported under either Linux or Mac OS X. Linux currently lacks a developed standard API that supports H.264 hardware video decoding, and Mac OS X does not expose access to the required APIs. The Flash Player team will continue to evaluate adding hardware acceleration to Linux and Mac OS X in future releases."</em> http://www.adobe.com/devnet/flashplayer/articles/fplayer10.1...
What prevents the plugins from using hardware? They're binaries that can run anything they want, aren't they?
Check out the new stuff coming in flash player 10.1, which will have some hardware acceleration, BUT not on OS X because it requires updated video drivers. Since Apple controls the video drivers on OS X, we just have to wait for them to update them (and since they don't seem to like Flash much, it could be a while).
First, hardware (i.e. GPU) acceleration makes a significant difference only when decoding h.264. For h.263 and On2 V6 you shouldn't need hardware acceleration. GPU accelerated h.264 came in Quicktime X in Snow Leopard and is not available on all Snow Leopard compatible machines. The disparity in performance between Quicktime, and other player-codec packages for that matter, and Flash has been around for years.
The second, and more important in my opinion, reason is that Flash doesn't have performance and stability issues only when it comes to video. They are more apparent with video, but all kinds of content - games, sites, even sometimes ads - make the Flash plugin disproportionately task the system.
I also don't agree with your second point, considering the things you are complaining about "games, sites, ads" are generally created with Flash because the advertiser (or ad agency) wants to do something that HTML can't do. It's their choice to do it, so don't blame their poor choices (and often poor coding) on the technology.
Consider that in general games and rich interactive things take more CPU than static HTML and graphics, so of course it will take more CPU to render those things. If you don't like it, don't play Flash games and boycott sites that use excessive poorly coded Flash.
There are Javascript/CSS demos out there that are much more dynamic/interactive than the average Flash based ad that still use less CPU.
In a similar vein, there are other Safari plugins out there that do much more than the average Flash based ad that use less CPU.
The Flash plugin uses more resources than people expect it to based on their experience with Flash in Windows, as well as their experience with other technologies on Safari/OS X. I don't think it is a collective hallucination.
Flash on OS X could be better.
I don't agree with this in general, but let's say that I did: Of course native things will run faster than a sandboxed plugin. Unfortunately Flash still does WAY more than browsers do.
> In a similar vein, there are other Safari plugins out there that do much more than the average Flash based ad that use less CPU.
Oh, like what? Some specialized thing that does one thing only? Comparing other plugins to eachother won't work unless you are comparing the same code vs. each other. Actually, it would be nice to compare flash vs. silverlight in a pure performance test using "real life" situations like video and motion graphics.
> The Flash plugin uses more resources than people expect it to based on their experience with Flash in Windows, as well as their experience with other technologies on Safari/OS X. I don't think it is a collective hallucination.
So now we are back to Mac vs. Windows, and it's been covered enough in this thread that OS X is more limiting than windows when it comes to browser plugins, and it sounds to me like it's up to Apple to fix it, or for some other browser maker to come along and do it better, so we'll have to wait and see.
"As the numbers will show, Flash performs far better in Vista versus Mac OS X running on the same hardware, and it actually improved slightly with the version 10 update."
http://arstechnica.com/software/news/2008/10/benchmarking-fl...
(OS X + Safari + Flash 9 Plugin = CPU hog) (OS X + Safari + Flash 10 Plugin = slightly less of a CPU hog) (Windows + Firefox + Flash 10 Plugin = CPU friendly)
I think that part we can agree on. It's unfortunate Ars didn't report on (Windows + Safari + Flash 10) or (OS X + Firefox + Flash 10) since those would have been a nice data points. I'll also admit this article is a bit dated but the point is that here is an example where Adobe tweaked some code and claimed a 3x increase in speed. Users were complaining all that time and some people were blaming the Plugin API. A performance problem can have multiple contributors.
My point is that you would think Adobe would push on it with all of their talent since it's in their best interest to optimize. I think though, that it's only computer geeks who realize it's caused by a plugin (for whatever reason) and the general public just thinks "my computer is slow".
I still have never seen a good analysis/description of what is flawed in the Safari plugin API.
In the end, I just don't think there's enough published data to settle this.
So, this being Hacker News, is there someone out there with some experience writing Safari plugins that can give us a definitive answer to this question (preferably with a brief description of the APIs involved).
I don't think I can stand reading yet another thread on this topic which is filled with what appear to be poorly-researched assertions...
It's just worse on OS X (and Linux, too).
The situation on Linux is a little better, but performance and reliability are still poor. Developers should keep this in mind when choosing to use Flash as a cross-platform environment.
And yet QVGA Youtube clips play at about 3-6fps.
Yes, Mac performance can be an extra challenge -- think of discussions in 3D, video-editing, or gaming communities. Things get more complicated when you're in a browser -- particularly on a Mac, you can see changing performance when changing browsers. Video will continue to further improve on PCs with hardware decompression, but on Macs Adobe is still hoping to persuade Apple to open those APIs to browser plugins. Adobe's own goal is to make things transparent across hardware/OS brands. And Adobe is interested in adding authoring-support for "HTML5": http://blogs.adobe.com/jd/2009/06/adobe_on_html5.html
it's not an api problem. it's that adobe's software is shit.
I'd like to hear an Adobe engineer's point of view.
It's hard to describe my surprise that my 5-year-old PC, with a low power 1.6Ghz CPU, can easily breach 100fps while playing JamLegend, and my 9-month old, dual-core 2.66Ghz MacBook Pro can barely squeak out 40fps.
Speaking of framerate in Flash, setting the framerate on a particular SWF does not actually make the SWF run at that framerate, even if the client machine can run at that framerate. Rather, the framerate seems to be more a measure of CPU resources dedicated to running the SWF.
For example, back to JamLegend: My MBP can run JamLegend at 40fps, but not if the framerate is set to 40fps. If it's set to 40fps, I'll get 20. It it's set to 60fps, I'll get 30. In order to get 40fps, the framerate has to be set to 100. Meanwhile, on my old XP machine, setting it to 40 gets 40, 60->60, and 100->100.
So, very good question, why is it that Flash performance is so different on OS X than Windows?
For the "why", that's Adobe Corp's tale to tell, but I haven't yet met a person inside Adobe who wouldn't be very, very happy if Mac/Win performance differences could be made to disappear.
His final sentences might be relevant to this topic:
On high CPU load we might actually cut [the max framerate] into half, e.g. 30 frames/sec. OS X already does this in certain conditions.
Wish he had expanded on that a little more. Any idea what conditions cause OS X to halve the framerate?
See this blog post, and the comments that follow for the comments of hardcore Adobe users:
http://hicksdesign.co.uk/journal/a-big-assed-post-about-fire...
The reasons are clearly either politics or incompetence. Now, I'm not sure what those politics might be. I don't personally believe that its that Adobe is "angry" at Mac or something, but I for example know that they are absolutely paranoid about accepting changes to the core code (even obvious crasher fixes require a ton of approval and consideration).
It really is to their own detriment. Regardless of how big the Mac market may be (its too big now to ignore and getting bigger), its a very powerful market of people that matter: i.e. developers. If Adobe got their act together, they would wipe the floor with JS, HTML5, etc. I mean, they almost do now, its purely due to their inability that they haven't completely and absolutely taken over the web.
Of course, the same can be said of standards. Taking 10 years to have any sort of measurable change on the W3C side is equally unacceptable (and we still ended up with a video solution that guarantees Flash will dominate this field for the next 10 years). Its always funny to me when people talk about whether "standards" or "flash" is winning, because it seems like a race where both parties are running backwards.
14 years.
Regardless of how big the Mac market may be (its too big now to ignore and getting bigger)
Nu-uh. http://en.wikipedia.org/wiki/File:Operating_system_usage_sha...
because it seems like a race where both parties are running backwards.
http://www.time.com/time/health/article/0,8599,1925723,00.ht...
Sorry, you are absolutely correct the plugin itself came out in 1996 with the original software having been developed earlier by PenPoint.
http://en.wikipedia.org/wiki/File:Operating_system_usage_sha...
Not sure what that is supposed to prove, some would argue that that is a sizable chunk (bigger than Windows 7 currently). But that's really besides the point since the argument was that the people that matter are running it.
As you pointed out this may partly change at some point in the future with the HTML video tag, but that happens independently of happy or unhappy developers.
My point is that they could have more than just the pure media market if they got their act together. Its never a good place to be when the only reason people use your software is because theres nothing else, and not because they actually like it. Additionally, assuming that there will never be an alternative is just silly. When your developers are unhappy, they will switch once its possible. The fact that Google Docs and similar apps are being done in JS+HTML should be scary to Adobe, if it isn't then they are frankly not very intelligent. Google will define the web tomorrow, and you better believe the second they can realistically go Flashless they will.
Again, all these same arguments apply on the standards side as well, they have dropped the ball and missed the same opportunities again and again, which is why Flash is still in the running (again, both survive due to eachother's weaknesses rather than their own strengths).
If Flash absolutely sang on every computer, it would be a much more difficult argument to make to go the standards route. Not necessarily impossible mind you, but certainly much harder. If it worked well and exactly the same on every computer, then its a hard thing to beat.
As for your points, yes, I didn't mean to argue any of that. Just wanted to set straight that from a business angle Adobe doesn't need to care about that 6% rounding error at this point.
They're waging a platform war which is different to, say, the browser war. Their dominance is so overwhelming that developers have no choice but use them, no matter how much it sucks - adobe knows that very well. That may not have been the reason for their consequent neglect towards the minority platforms from day 1. But not spending more resources today on remedying that situation is most likely a conscious decision (mixed with a bit of incompetence).
They know that making said developers crazy happy at this point doesn't help them one bit against the coming open standards. When the HTML video tag arrives then flash will be pushed out of the video niche, no matter how good it is or how happy the developers are.
Consequently there's simply not much reason for them to spend resources on making the OSX or Linux plugin better. Their focus is on the mobile market now, which is a battle that they really need to win if they want to maintain any relevance in the future.
I don't have any hard statistics but my anecdotal experience is that the developers of new, "Web 2.0" applications are more like 60% using macs, not 6%.
Adobe wants to bring better video performance to the Mac, but Apple is not supporting them.
Here's the source: http://theflashblog.com/?p=1641
The issue here (with the 10.1 hardware acceleration) is that it requires updated video drivers, and Apple controls those drivers on OS X, and Apple hates Flash. Maybe they will eventually add support, but why would they hurry if they don't like it in the first place?
Parallels does not have updated video drivers from Apple, why should flash need them to match what parallels does now? Whatever Parallels installs or does to handle dismay updates, Flash plugin could do.
Parallels doesn't run in a browser.
Fuck you.