Do you remember Banana Slice ? I already blogged about native rasterizing (bitmap slicing) in the Flash Player (here), but I realize I did not log a feature request in the Adobe bugs jira. I would love to see a native rasterizer in the Flash Player, which would rasterize or caches each frame of a MovieClip in order to get an animated bitmap to get nice rendering performance improvements when the MovieClip is played :

We could have a rasterize property to dynamically rasterize a MovieClip as bitmap frames to get super performance improvements :

MovieClip.rasterize = true

The MovieClip could contain a BitmapSequence extending InteractiveObject allowing you to access each bitmap frames. In some cases, this would consume more memory, but the developer should be able to choose between more memory usage and nice rendering improvements, just like cacheAsBitmap where you have to counter balance the pros and the cons. This feature could also be used by a designer or animator in the Flash Pro authoring tool. If you like the idea, please vote for this feature request :

When trying to create your own rasterizing engine, you may come into the situation where you want to know the real width and height of a DisplayObject having filters applied, like a BlurFilter for instance, in order to create each BitmapData frame, the following image illustrates the idea :

The code below retrieves the width and height of the MovieClip with getBounds, you notice that you got the same results for both MovieClips :

// outputs : (x=46.5, y=154.45, w=198, h=117.94999999999999)
trace( mc1.getBounds ( this ) );
// outputs : (x=299.5, y=153.45, w=198, h=117.94999999999999)
trace( mc2.getBounds ( this ) );

Same with the width and height properties. Of course you can calculate an approximation based on the filter properties and deduce an approximate width or height. You can also iterate through the filters property create a BitmapData object then use the generateFilterRect() method to evaluate the pixels dissolution value and estimate the final width, but well, that's not a really smooth way to achieve that. Having a DisplayObject.getFiltersRect() and DisplayObject.generateFilterRect() methods would be sweet. If you like the idea, please vote for this feature request :