Yufang has since my previous post on this problem continued to have problems with anything related to Adobe Flash on her Early 2008 MacBook. Today, I decided to test out a hypothesis that I had regarding Flash. On many forums, Windows users with Flash don’t report the heavy CPU usage and subsequent fan cooling reported by some Mac users (including Mac users with a MacBook, MacBook Pro, iMac, and Mac Pro). This and Adobe’s lack of transitional support for Creative Suite into Cocoa (until CS5) led me to believe that Flash for Mac OS X was not optimized for the Mac OS X platform. The underlying hardware on both Macs and PCs are essentially the same now, so the differences are now between the OS architecture and the way Flash is built to run on the two different OSes. Considering that both Windows XP SP3 (Yufang owns a copy of this) and Mac OS X Leopard (what I last installed on her machine as a test to solve this problem) use roughly the same amount of CPU power according to process monitors and neither under normal operating circumstances cause the fan activity to spike with increasing CPU utilization, it seems that Flash is the independent variable.
With this in mind, I ran Boot Camp in Mac OS X 10.5, and installed Windows XP SP2, setup the wireless connection, upgraded to SP3, installed 73 critical updates, installed AVG Anti-Virus, installed Firefox, and installed Adobe Flash. Before trying out web Flash problems, I thought I would try it with one of her Big Fish Games, which immediately drives up CPU use and activates fan activity on Mac OS X. On Windows XP SP3, the same Flash game–one version compiled as a Universal Binary for Mac OS X and the other compiled for the Windows platform–runs more efficiently on Windows than it does on Mac OS X. I define efficiency as requiring less CPU activity to perform the same amount of work. On Mac OS X, that game requires more CPU cycles and more operations to run the same game that requires less CPU cycles and less operations on Windows.
My suspicion is that Adobe didn’t optimize Flash for Mac OS X. Flash has always been a pain on Mac, even in the old days, but it would seem like a company like Adobe that launched itself on the Mac platform would have done more to make their software work well on Mac. It seems like all that money Adobe makes on their overpriced software could have trickled down to end user software that didn’t waste CPU power and drain batteries unnecessarily.
A more thorough analysis of this would be necessary to pin this on Adobe unequivocally. Windows XP handles threading differently on a Core 2 Duo processor than does Mac OS X, which could cause a problem for certain software, particularly non-optimized software, on each OS. I don’t know to what extent that Vista or Windows 7 would change the results. I didn’t try Windows 7, because I didn’t want to use my unopened copy yet. Yufang has Windows XP, which has a smaller code base than Windows 7, so I figured it shouldn’t have as much overhead as Windows 7 would despite the supposed architectural improvements to the newer OS.
The bottom line is that I’m saying that the ball is in Adobe’s court. As it now stands, I wholeheartedly agree with Steve Jobs that Flash is a big mess on the Mac platform. When Jobs went on the record saying that recently, he wasn’t saying anything new. All of us Mac users have known that for a long time, and it’s been a problem that we’ve been waiting for Adobe to address for a very long time. Though, I’m glad that Apple has the clout to potentially swing things to HTML5 and H264, at least for online video. It’s up to Adobe if they want to make an insanely great product that can compete with a (more–patent issues aside) open alternative.
In the meantime, Yufang will use Boot Camp to switch between Windows and Mac so that she can use her software without it overheating her computer and creating fan activity that detracts from her ability to use her MacBook altogether.