Safari Beta 60
In case you missed it yesterday, Apple has released a new beta build of Safari. While you won't notice anything at all different with the interface, the back-end has seen numerous improvements in JavaScript, security certificates, support for XML, and a noteworthy boost to Flash player performance. Flash content now plays nearly as fast as Internet Explorer for OS X, and unquestionably faster than any Gecko browser - despite the fact, I should add, that Gecko has had plenty of time to work on their frame rate crawl.
As a developer constantly reminded how much faster Flash content renders on Windows machines than Macs (a misguided overall system performance benchmark by some Windows users), the attention to the Flash player from the Safari team is a very welcome development. Considering the notable speed improvements in just a handful of weeks, Safari should eventually eclipse all current OS X browsers for Flash content, and maybe even (please, dammit) match Windows.
Which brings up the long-discussed question about where responsibility falls for poor player performance. Other developers, including myself, have long hypothesized that the speedier performance of the Flash player in IE / Windows was due to the use of proprietary ActiveX technology which provides an additional rendering boost to the player not found on the Mac. But considering how quickly the Safari team is optimizing the Flash player's speed, coupled with the fact that they - not Macromedia - are working on the issue to improve performance, then perhaps Flash player speed is truly dependent on the browser developer and has nothing at all to do with proprietary technology or operating system.
I wish I knew more about this murky subject, but that's precisely the reason why I (or others) don't. Macromedia has always remained silent on the issue, which only gives birth to shadowy conspiracy theories.
So what's missing in Beta 60? The ever thorough Mark Pilgrim has re-compiled his list of CSS bugs to be fixed alongside the bugs beta 60 squashed.
Comments
I think you are under-stating the performance improvement. The results for me on my Flash sites are simply amazing. Safari has given me without question the best Flash experience I've ever seen on the mac. The performance is VERY close to IE/Win at this point. Bravo to the Safari team!
Posted by: JZ at February 13, 2003 9:16 AM
Safari has given me without question the best Flash experience I’ve ever seen on the mac. The performance is VERY close to IE/Win at this point.
So if performance is only close to IE why is Safari your "best" experience?
Posted by: Simon at February 13, 2003 11:53 AM
Hi Todd, if you're comparing the playback of a single SWF across machines, then it's good to compare Projector to Projector, without any other applications running, and without any streaming going on... just compare playback of locally stored standalone engines.
This avoids differences in how operating systems apportion time among simultaneous processes, and differences in how browsers apportion time among their various processes.
(I've typed this a heckuva lot over the last few years, but it's longer to read than the charge is, so I don't get traction on it.)
There could definitely be differences in how platforms turn vectors to pixels, or decompress audio, or scale bitmaps, or process scripts, or any of the other hundred or so processes you can invoke in a SWF file. But getting outside the browser and watching for background contention is a necessary first step in any comparison.
tx, jd/mm
Posted by: John Dowdell at February 13, 2003 1:04 PM
flash remoting is missing in this version
Posted by: tom at February 13, 2003 2:35 PM
So if performance is only close to IE why is Safari your ?best? experience?
You missed my qualification: IE/WIN. Flash performance on IE for windows is extremely fast but that speed doesn't carry over to the Mac version of IE. I'll say it again, Safari offers the best Flash experience on the Mac.
Posted by: JZ at February 13, 2003 4:06 PM
So if performance is only close to IE why is Safari your ?best? experience?
You missed my qualification: IE/WIN. Flash performance on IE for windows is extremely fast but that speed doesn't carry over to the Mac version of IE. I'll say it again, Safari offers the best Flash experience on the Mac.
Posted by: JZ at February 13, 2003 4:07 PM
What about the *ahem* processor differences? If dual-procs are the way of the future (at least until Apple starts using IBM iron), perhaps advantages could be had with more multi-threading built into the player (if that's possible). I would guess (Josh D.?) that it's pretty much going to use one CPU on dual machines (OSX). Compare 1x 1.4 Ghz Mac to 3.0 Ghz Intel (top ends o' the day) and the question of disparity seems less curious. Don't even get me started on system bandwidth.
Then there's the whole question of PPC Altivec vs. x86 SIMD... anyone know how that's a factor? I don't in what ways Altivec could be/is used for this kind of task.
Another thought: using the GPU a la Quartz Extreme. Why not? Maybe ... OpenGLFlash?
Posted by: R. A. White at February 13, 2003 5:08 PM
Thanks John for the information. I may be reading between the lines of your comments here, but by recommending the comparison of standalone projectors instead of browsers, you are indirectly pointing out the source of the problem.
In other words, projectors are obviously coded by Macromedia, so any performance issues in that environment solely belong to you. But toss a third party browser into the mix, and the playing field shifts dramatically causing all kinds of unexpected results.
So while stand-alone performance of a projector may not be all that different between platforms, the rendering of swf content through a browser plug-in is an entirely different animal, with much of the responsibility for an optimum experience falling in the hands of the browser developer.
Logically it makes sense. Perhaps I could pursuade Dave Hyatt of Safari to post something more about how, exactly, they optimized performance.
Posted by: Todd Dominey at February 13, 2003 8:46 PM
Yes, the choice of browser does introduce differences, but it's not the only difference possible. Whether there's a network transfer going on at the time is also a big issue in many situations... with some animation-style pieces on some systems you can visibly see when the background streaming has stopped because the animation speeds up!
Shockwave had some similar issues when it introduced Fraunhoffer audio compression, before people heard of MP3 files... back then the audio decompression itself was compute-intensive, and on some machines you could see a difference in animation performance when audio was first being decompressed. The features used also play a role.
Browser = one potential cause
Browser != only potential cause
I've got a longer piece over at my place today, but even that is anecdotal rather than exhaustive... I haven't seen any definitive cross-environment feature-by-feature analysis myself. I just know that there are a bunch of variables to null out first.
This isn't to say that there aren't things that can't be improved in the code of the player itself... I know that the Mac has gotten disproportionately high optimization attention over the last few years... but nulling out those competition variables and identifying the particular tasks performed in a file is a necessary first step.
(For Safari, I'd guess they may have increased the percentage of processor cycles given to a guest process in their app, but I don't know their code, I'd be just guessing here.)
tx, jd/mm
Posted by: John Dowdell at February 13, 2003 9:48 PM
