I was watching the vid on Colin Moock’s site to get a sense of what improvements have been made to Flash Player 8, aka 8ball. [oops, this 8ball = Flash 8, not the same as the player!] He already sumarizes it quite well, but I wanted to make some notes for myself here.
- The speed improvements are very cool. Two demos shown were of a bunch of alpha-blended objects that were tanking framerate in a major way in Player 7. In Player 8, there was a huge increase in speed. Alpha blending tends to be expensive in terms of CPU (particularly in software-based rendering), so there are some definite improvements there.
Saffron, the next text engine, looked beautiful. The kerning wasn’t quite perfect, but it’s a damn sight better than what you’re used to. You don’t realize how ugly most computer type is unless you’ve looked at type set by people who care, but that’s a rant for another day. They made a comparison between Microsoft’s ClearType technology and Saffron, and Saffron was noticeably better in terms of eveness of textual tone. On the other hand, I’m not sure ClearType really is about improving the kerning engine as it is fudging the way subpixels are drawn. Still, the text engine looks great. A lot of the issues with on-screen type, though, is related to the interletter kerning pairs embedded in the fonts… this is the job of the font designer, not the rendering engine. The reason why the Microsoft fonts such as Arial, etc, look so good is because they’ve been heavily tweaked to look good at specific sizes, not unlike Flash Fonts I suppose. Will Safron require special font processing, or will it toss font hints out the window altogether? Or perhaps it actually looks at the font’s embedded kerning hints, unlike many other applications like, say, Windows Freehand MX (yeah, I’m as surprised about that as anyone).
The new effects: automatic dropshadowing with alpha blurring, glowing, masked knockouts, etc, look pretty cool. Works even with interactivity!
Video Alpha: Looked cool. I can see a lot of nifty innovations come from that. On the downside, we may see the return of the Video Adventure Game CD-ROM. Such games will become very easy to do.
p>Some pure speculation:
The new effects and video alpha give me a hint on what architectural changes they might have made to the player: I’m guessing that it now that each SWF timeline has its own offscreen rendering buffer with alpha channel, and that every time a SWF changes, this buffer gets updated. I’m not sure how Player 7 works, but it might merely issue its draw commands immediately into a single buffer that gets rendered to the screen.
The advantages to having each SWF with its own buffer would be that you then can use pure bitmap compositing to do your alpha effects very very fast, particularly on today’s systems. If the buffer doesn’t change (say, for a static PNG with alpha transparency), then on each frame all you need to do is recomposite the bitmap data as far as drawing goes. You could theoretically take advantage of any low-level hardware acceleration in the system to speed things up even more, though I would imagine that Macromedia would want to keep most of it in software to ensure that players render the same on every platform.
You can also, with individual buffers, apply the bitmap effects without messing up other graphics on the screen because the engine would just composites them together. Video alpha is just another version of the offscreen buffer, fed from a video source.
The downside is that memory usage with a new player would go up. For more control over this, we might see some kind of “cache” property for individual movieclips. Also, if a SWF dynamically draws on every frame (e.g. the bitmap needs to be recreated), the speed increase would be largely lost.
Again, irresponsible speculation on my part. :-)