|
SYS-CON.TV Webcasts
Comments
Did you read today's front page stories & breaking news?
SYS-CON.TV
|
Top Links You Must Click On
Flash Flash Player 8: Using Bitmap Caching in Flash
Developers and designers use Flash to do a lot more than just animation
By: Guy Watson
Jan. 21, 2006 03:00 PM
However, today, developers and designers use Flash to do a lot more than just animation; today, we use Flash for everything from interactive banner ads to games and large applications with complex user interfaces. We are now pushing Flash to its limits, and our frame rates are starting to suffer as we develop content that is more application-centric. Previous versions of Flash Player showed some obvious performance limitations. The vector renderer inside the player generally coughed and spluttered when it attempted to play Flash applications with a lot of objects on the Stage. This is because the player was not optimized to deal with large amounts of static content. By design, on each frame, Flash Player 7 and previous versions had to update and redraw all the vector objects on the Stage, even if they had not changed. This was an intensive and unnecessary process. Flash Player 8 addresses these visual performance issues with various improvements and optimizations to the renderer. There are also various new performance-enhancing authoring features in Flash Professional 8, which developers can use to take advantage of these significant changes. This article will show you how to effectively use these new performance-related features to increase the frame rates of your Flash applications. An intermediate to advanced familiarity with ActionScript and Flash Player functionality is required. Bitmap Caching How Bitmap Caching Works This process essentially makes the renderer's life easier, because it doesn't have to update the movie clip each frame. Instead the process only has to draw the bitmap it generated once, and from then on it simply copies the bitmap from memory onto the Stage. If you change the movie clip or its contents, Flash regenerates the bitmap. There is little or no visual difference when a movie clip has bitmap caching turned on. You may notice a very slight difference because the vector data is snapped to the nearest whole pixel when the bitmap is generated. Bitmap caching also works perfectly well with nested movie clips (movie clips inside movie clips). To put it in simple terms, by turning on bitmap caching for a movie clip, you are essentially telling Flash Player, "Hey Renderer, I'll make your life a little easier. Freeze this movie clip and display it as a bitmap instead, because this movie clip or its contents are not going to change very often, if at all. They are static." Turning Bitmap Caching On and Off Using the Authoring Environment To turn bitmap caching on select the desired movie clip instance on Stage by clicking on it. Then, open the Property Inspector from the Window menu. Select Window > Properties > Properties, or use the keyboard shortcut Control + F3. In the lower right corner of the Property inspector underneath the Blend field, select the Use Runtime Bitmap Caching option for the selected movie clip by clicking the checkbox. Bitmap caching is deselected or turned off by default for all movie clips. Using ActionScript someMovieClip.cacheAsBitmap=true; //Turn Bitmap Caching ON Similarly, to turn bitmap caching off for a movie clip using ActionScript, you simply need to set the value of its cacheAsBitmap property to false as follows: someMovieClip.cacheAsBitmap=false; //Turn Bitmap Caching OFF You can also determine if a movie clip has bitmap caching turned on by retrieving the value of the cacheAsBitmap property: isCached=someMovieClip.cacheAsBitmap; When to Use Bitmap Caching Bitmap caching works best for movie clips whose visual appearance doesn't change often or not at all. This is because when a cached movie clip or its contents change, Flash regenerates the bitmap with new data for the area or region of vector data that changed and updates the bitmap held in memory. The renderer then displays the new bitmap. Bitmap caching also works well for movie clips that contain complex vector data (for example, shapes with lots of curves or gradient fills), as it is quicker for the renderer to copy a bitmap from memory onto the Stage than to draw all those vectors to the Stage. Every time you rotate, scale, or change the alpha of a cached movie clip, the whole bitmap has to be regenerated. So, turning on bitmap caching for a movie clip that is constantly rotating, changing in size, or contains an animation doesn't make much sense because in every frame the renderer has to update the bitmap to reflect the new appearance of the movie clip as well as redraw it to the Stage, which adds overhead. On the other hand, bitmap caching works well for both static movie clips and movie clips that move, as long as they don't change visually. It is perfectly fine to move a cached movie clip around the Stage, either with ActionScript or with Timeline animation, because moving it around won't change its visual appearance. The cached bitmap doesn't have to be updated, and the renderer will merely draw the bitmap at its new position. Reader Feedback: Page 1 of 1
Your Feedback
Enterprise Open Source Magazine Latest Stories . . .
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
|
SYS-CON Featured Whitepapers
Most Read This Week |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||