Poor Flash performance on Mac OS X?

6

I've been using Mac OS for almost 3 years now. What I have noticed couple of months ago, and what annoys me more and more over time, is that any Adobe Flash applications, content or adverts on website uses ridiculous amount of CPU.

I thought: Fair enough. This is isolated issue and has something to do with the way how Adobe implemented Flash for OS X. I was wrong as recently writing app using Java3D the same thing is happening. On Windows the CPU usage for my application is between 1 and 2 percent where on Mac, just starting Java3D program (not doing any computation) results in 60%+ CPU usage.

Anyone has got any ideas as to why this is happening? The same stuff is happening on my friend's new MacBook Pro. I really like Macs, but now am losing my 'fanboyism' as more and more of this kind of stuff pops up...

P.S. I did try repairing disk permissions.

It isn't just the video. As on Safari, as on Firefox opening i.e. Diablo 3 characters (http://us.blizzard.com/diablo3/characters/) causes my %CPU usage (according to activity monitor) to go over 100%. Console.app listing (just from opening this website, after installing Flash v10.1 B2) attached below. If you want to test Java3D you can go to my last assignment (http://personal.cis.strath.ac.uk/~ajonkisz/Tree/tree.html). Again it behaves same on Safari and Firefox, over 100% CPU usage.

Please let me know if I'm the only one who experiences this problem, maybe anomalies.

Artur

Posted 2010-01-04T21:50:38.483

Reputation: 161

1well... i have the same problem on linux so i'm just assuming it's flash's fault – Phil – 2010-01-05T20:19:56.490

Answers

15

Adobe has notoriously ignored major performance issues with Flash on Macs for years.

ceejayoz

Posted 2010-01-04T21:50:38.483

Reputation: 2 208

1It's not exactly speedy on windows, either. – Phoshi – 2010-01-04T22:25:34.037

7"Not exactly speedy" and "brings my 8-core Mac pro with 10 GB of RAM to a crawl" are different things, though. – ceejayoz – 2010-01-04T22:37:19.660

10Adobe has consistently ignored the abysmal performance of Flash on Macs. If you complain, they just recommend you use a Flash blocker. Yes, that's right, the people responsible for Flash tell you to block it. – Paul Tomblin – 2010-01-04T22:53:10.813

2In #FP-890 (public but requires free registration), an Adobe employee says: "The bug in our internal review is titled: 'Mac OS video decoding is ~5 times more CPU intensive than Windows'". So yes, compared to Flash Player on the Mac, it's pretty speedy on Windows. :-) – Ken – 2010-01-04T22:58:06.717

2I would get rid of the "on Macs" part... I think their QA department does a "hello world", says it works and passes it on - there are so many bugs with flash on every/any OS it is officially on. – William Hilsum – 2010-01-05T00:48:16.463

@Wil See my earlier comment. Flash performance is drastically worse on a Mac than Windows. – ceejayoz – 2010-01-05T03:37:49.770

5

I don't notice this problem on my Mac but to at least mitigate the symptoms you should strongly consider installing ClickToFlash if you are using Safari or Flashblock if you are using Firefox. This will dramatically reduce the amount of Flash code running on your system.

knweiss

Posted 2010-01-04T21:50:38.483

Reputation: 1 636

3

Adobe has a beta version of Flash, v10.1 B2, which offers dramatic performance improvements to the Mac Flash clients -- particularly with video. Prior to the beta, watching an HD movie in Flash used more resources than watching a Flash HD movie in a VMWare Fusion Windows VM!

Also, make sure that the issue is in fact Flash or Java, there are a few popular Mac applications, such as the Transmission bittorrent client, which have known to cause performance issues with Snow Leopard.

Go into Applications->Utilities->Console.app and review the system console and syslog. That should help you to isolate the performance issues that you are having.

duffbeer703

Posted 2010-01-04T21:50:38.483

Reputation: 231

3

It's worth noting that Mac and Windows report multi-core usage differently. If an individual process/app maxes a quad-core Mac, it's reported in top and Activity Monitor as 400%. Overall usage -- user, system, idle -- totals to 100%. On Windows, both are 100%. On balance, I prefer the Mac way, because you get more granularity.

That won't account for the difference between 2% and 60%, unless you pick up one of those 24-core systems coming out soon, but it's something. (On a 24-core Windows box, a "runaway" process that has pinned a core would take "4%" -- doesn't seem right.)

More importantly, if you have a multi-core system, it matters less if one of your apps is killing the CPU. One of the reasons I run Vista on a quad-core is that on a regular basis, "TrustedInstaller.exe" -- great name for a virus -- decides that it needs to think really hard for about five minutes.

The performance differences may be due in part to graphics card support. The latest Flash betas are just now adding hardware acceleration for video on Windows. As noted, the situation for Flash on the Mac is worse across the board. Not knowing the internals, it seems like animations are implemented in a naive, "busy loop" fashion, and not on reasonable interrupts. (No one can really appreciate 240 frames per second on Flash.)

Java does take more time to start up -- there's the runtime and a lot of libraries to make things "easy" and "consistent" for the programmers -- but once it is up and running, performance should be in the same neighborhood as native code. The memory footprint might be larger, especially if you're just running one Java app, and you don't realize any memory savings for shared runtime/library code across multiple processes. For Java 3D, you might try checking the supported acceleration features [JNLP link]. I don't do 3D, so it's not clear whether unsupported features are ignored or emulated.

Finally, ‘Repair Permissions’ Is Voodoo.

Ken

Posted 2010-01-04T21:50:38.483

Reputation: 7 497