Thursday, July 21, 2005

Why does Flash Player 8 on Mac perform so much better? Here is the answer...

I posted an answer to an unrelated question on the FlashCoders mailing list yesterday, but it think some interesting information might have been lost in the process. Anyway, I'll post some of the relevant information here again. It's really in the context of getting some more testing of the Flash Player and stabilize an in essence wonderful but for my personal feeling 'scary' change in the Mac version of the Flash Player:

"You probably have seen that Mac performance is 'slightly' better one some machines, especially under Safari. I should give you a hint why that is. If your Mac is Quartz Extreme capable (that does NOT mean we use Quartz, it just means the hardware requirements are met!), try to profile Safari with some Flash content
by using the OpenGL profiler which is part of the Apple Developer Tools. Add to that some profiling with Shark on a G4 or higher and the answer should be clear :-) This also explains the odd scrolling behavior some of you have noticed in Safari. We are trying to resolve that with Apple in the future, but for now we feel the benefits outweighed that odd behavior. But if you feel strongly about that issue or otherwise see any other weird behavior in Safari please let us know as soon as possible. The reason FireFox and Opera do not work with this enhancement is because of this bug we filed: https://bugzilla.mozilla.org/show_bug.cgi?id=298961"

So, in essence it means that the Flash Player will use OpenGL on OS X 10.2 or newer to display its content if the machine meets the requirements. This is the direct result of working with some Apple engineers which were really helpful in getting us to be confident with these changes. In addition almost every core rendering routine now has an AltiVec implementation, you should see that when profiling using Shark. We spend a lot of time on this in this release.

The bad news is that essentially all G3 based Macs will not see these improvements, some older G4 based Mac which are using ATI Rage 128 cards are also limited in that they and will not support the OpenGL rendering mode. This is because these cards do not support the GL_TEXTURE_RECTANGLE_EXT extension.

But again, if you see anything weird, PLEASE let us know so we can address this as soon as possible. This is why we have public betas. If you have an old Mac around, install Flash Player 8 on it and see if anything breaks.