Bitmap caching and swf file performance – Adobe Flash Professional CS3 User Manual

Page 495

Advertising
background image

FLASH CS3

User Guide

489

You can encounter errors if you use invalid parameter types. Some filter parameters also have a particular valid
range. If you set a value that's outside of the valid range, the value changes to a valid value that's within the range. For
example, quality should be a value from 1 to 3 for a standard operation, and can only be set to 0 to 15. Anything
higher than 15 is set to 15.

Some constructors have restrictions on the length of arrays required as input parameters. If a convolution filter or
color matrix filter is created with an invalid array (not the right size), the constructor fails and the filter is not created
successfully. If the filter object is then used as an entry on a movie clip's filters array, it is ignored.

When using a blur filter, using values for blurX and blurY that are powers of 2 (such as 2, 4, 8, 16, and 32) can be
computed faster and give a 20% to 30% performance improvement.

Bitmap caching and SWF file performance

Bitmap caching helps you enhance the performance of nonchanging movie clips in your applications. When you set
the

MovieClip.cacheAsBitmap

or

Button.cacheAsBitmap

property to

true

, Flash Player caches an internal

bitmap representation of the movie clip or button instance. This can improve performance for movie clips that
contain complex vector content. All of the vector data for a movie clip that has a cached bitmap is drawn to the
bitmap, instead of to the main Stage.

Note: The bitmap is copied to the main Stage as unstretched, unrotated pixels snapped to the nearest pixel boundaries.
Pixels are mapped one-to-one with the parent object. If the bounds of the bitmap change, the bitmap is re-created instead
of being stretched.

For detailed information on caching button or movie clip instances see the following topics:

About caching and scrolling movie clips with ActionScript in Learning ActionScript 2.0 in Adobe Flash

Caching a movie clip in Learning ActionScript 2.0 in Adobe Flash

Use the

cacheAsBitmap

property with movie clips with mostly static content and that do not scale and rotate

frequently. With such movie clips, using the

cacheAsBitmap

property can lead to performance improvements when

the movie clip is translated (when its

x

and

y

position is changed).

Enabling caching for a movie clip creates a surface, which has several advantages, such as helping complex vector
animations to render fast. In some situations, enabling caching does not improve performance, or even decrease it.

Overall performance of cached data depends on how complex the vector data of your instances are, how much of the
data you change, and whether or not you set the opaqueBackground property. If you are changing small regions, the
difference between using a surface and using vector data might be negligible. Test both scenarios with your work
before you deploy the application.

When to use bitmap caching

The following are typical scenarios in which you might see significant benefits when you enable bitmap caching by
optimizing vector graphics.

Complex background image

An application that contains a detailed and complex background image of vector data.

To improve performance, select the content, store it in a movie clip, and set the opaqueBackground property to true.
The background is rendered as a bitmap and can be redrawn quickly, so that your animation plays faster.

Scrolling text field

An application that displays a large amount of text in a scrolling text field. Place the text field in

a movie clip that you set as scrollable with scrolling bounds (the scrollRect property), enabling fast pixel scrolling for
the specified instance. When a user scrolls the movie clip instance, the scrolled pixels shift up and generate the newly
exposed region instead of regenerating the entire text field.

Advertising