(last edited on April 29, 2014 at 1:30 am)
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. :-)
2 Comments
[phall]:http://www.peterjoel.com/blog/index.php?archive=2004_10_01_archive.xml#109866524254140805
This post on [Peter Joel’s Blog][phall] adds more information about Saffron, with background about what the Flash Player **actually** does as far as fonts are concerned. Cool!
——-
[ms]:http://www.microsoft.com/typography/ClearTypeInfo.mspx
I was curious whether [ClearType][ms] could actually detect what your LCD subpixel alignment was from the driver side, or whether you would need to run through choices to figure out exactly what your particular LCD screen’s RGB component order was. Going to [Microsoft’s Page][ms] on ClearType for this, I went through the web-based setup.
Apparently there are two kinds of ordering of subpixels in LCDs: RGB and BGR (rare). Since a technology such as ClearType must know this order in order to calculate the edges properly, you would hope that this information would be inspectable by software through a hardware capabilities check. But no, while there is a registry setting in XP SP1, it is itself not automatically configured through inspection of hardware. This probably is because it would be unreliably reported by display manufacturers, or it’s not a feature iterated in current hardware drivers.
So I doubt subpixel rendering is used in the next player. Traditional whole-pixel rendering. The ADF stuff is a technology to derive interletter spacing without a ton of font hinting, making it reasonable for Flash to produce better text layout without vastly increasing the memory consumed by fonts.