cacheAsBitmap 属性
cacheAsBitmap:Boolean []
语言版本 : ActionScript 3.0
RuntimeVersions: AIR 1.0, Flash Player 9
如果设置为 true,则 Flash Player 或 Adobe AIR 将缓存显示对象的内部位图表示形式。此缓存可以提高包含复杂矢量内容的显示对象的性能。
具有已缓存位图的显示对象的所有矢量数据都将被绘制到位图而不是主显示。然后,将位图作为贴紧到最接近像素边界的未拉伸、未旋转的像素复制到主显示。像素按一对一与父对象进行映射。如果位图的边界发生更改,则将重新创建位图而不会拉伸它。
除非将 cacheAsBitmap 属性设置为 true,否则不会创建内部位图。
将 cacheAsBitmap 属性设置为 true 后,呈现并不更改,但是,显示对象将自动执行像素贴紧。动画速度可能会大大加快,具体取决于矢量内容的复杂性。
只要对显示对象(当其 filter 数组不为空时)应用滤镜,cacheAsBitmap 属性就自动设置为 true,而且如果对显示对象应用了滤镜,即使将该属性设置为 false,也会将该显示对象的 cacheAsBitmap 报告为 true。如果清除显示对象的所有滤镜,则 cacheAsBitmap 设置将更改为它上次的设置。
在下面的情况下,即使将 cacheAsBitmap 属性设置为 true,显示对象也不使用位图,而是从矢量数据呈现:
位图过大:在任一方向上大于 2880 像素。
位图无法分配(内存不足错误)。
最好将 cacheAsBitmap 属性与主要具有静态内容且不频繁缩放和旋转的影片剪辑一起使用。对于这样的影片剪辑,在转换影片剪辑时(更改其 x 和 y 位置时),cacheAsBitmap 可以提高性能。
实现
public function get cacheAsBitmap():Boolean
public function set cacheAsBitmap(value:Boolean):void
另请参见
opaqueBackground
示例
下例将投影应用于 Shape 实例。然后,它将跟踪 cacheAsBitmap 属性的值,该值在应用滤镜时设置为 true:
import flash.display.Sprite;
import flash.filters.DropShadowFilter
var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xAA0022);
circle.graphics.drawCircle(40, 40, 40);
addChild(circle);
trace(circle.cacheAsBitmap); // false
var filter:DropShadowFilter = new DropShadowFilter();
circle.filters = [filter];
trace(circle.cacheAsBitmap); // true
+_+ 一般的应用应该用不上这个吧 +_+!
http://www.actionscript3.cn/magicianzrh/archives/2008/10/cacheasbitmap.html
http://www.bytearray.org/?p=290
上面的那两个例子据说前者不用cacheAsBitmap会更慢,后者才用的实现方式不一样,属于特殊情况。这个话题先搁这里了,以后遇到类似的问题再研究了
分享到:
相关推荐
cacheAsBitmap: Boolean 如果设置为 true,则 Flex Video 组件将以位图形式缓存,以提高渲染性能。 ##### 5. deblocking: int 此属性用于控制视频解码过程中的去块效应程度,有助于提升视频质量。 ##### 6. ...
6. **优化性能**:为了提高性能,我们可能需要使用缓存机制,比如`cacheAsBitmap`属性,这可以减少频繁的像素操作。 7. **提供使用示例**:附带的`CustomControl`可能是这个自定义控件的实现文件,可以作为使用示例...
3. **缓存AsBitmap**:对于频繁变动的图片,启用DisplayObject的cacheAsBitmap属性可以提高渲染性能。 五、用户体验考虑 1. **触摸支持**:如果应用需要在移动设备上运行,确保支持触摸滑动操作。 2. **加载提示**...
2. **缓存机制**:利用`LoaderInfo`的`cacheAsBitmap`属性,可以提高复杂图片的渲染性能。 3. **位图缓存**:对于复杂的图片或矢量图形,可将其转换为位图并缓存,以提高性能。 五、响应式设计 在开发移动应用或...
例如,可以使用`cacheAsBitmap`属性来缓存图像,减少不必要的重绘。 在实际项目中,你可能还需要考虑用户的交互,比如点击或触摸事件触发水纹,或者调整水纹的参数以适应不同场景。此外,压缩包中的"bin-debug"目录...
例如,使用BitmapData的cacheAsBitmap属性可以提高性能,但需注意它可能会增加内存占用。 总之,有效地进行内存管理是提升Flex应用性能的关键。通过理解垃圾收集、事件处理、显示列表管理以及利用各种工具和最佳...
- 渲染优化:Flex4提供了`cacheAsBitmap`和`cacheAsBitmapMatrix`属性,用于提高复杂布局中包含Image组件的性能。 - 自定义渲染:可以通过覆盖`updateDisplayList()`方法来自定义图像的渲染方式,实现如裁剪、旋转...
使用`cacheAsBitmap`属性来实现。 4. **避免不必要的深度遍历**:当遍历组件树时,尽量限制遍历的深度,尤其是在事件处理或数据更新时。使用事件冒泡和事件代理可以减少遍历次数。 5. **使用Vector.** 对象:相比...
大图片可能会导致性能下降,因此在处理大量或大尺寸图片时,可以考虑使用`BitmapData`对象进行预处理,或者使用`cacheAsBitmap`属性来提高渲染效率。 8. **实现过程**: 在实际项目中,我们可能需要创建自定义...
- 使用优化技巧:避免不必要的计算,利用缓存asBitmap或cacheAsBitmap提升性能。 - 调试组件:利用Flash的ActionScript编译器错误和警告,以及Debug版本的Flash Player进行调试。 七、发布与重用 一旦组件完成,...
1. 缓存位图:对频繁变动的复杂矢量图形,可以使用`cacheAsBitmap`提高渲染性能。 2. 池技术:复用对象以减少内存分配和垃圾回收的压力。 九、网络编程 1. URLLoader:用于加载XML,JSON,文本,图片等网络资源。 ...
- 探索Flex和TLF等框架的使用,可能提供更优的性能。 - 循环中避免频繁计算数组长度,将其缓存起来。 ### 11. Alpha透明度优化 - 合理使用Alpha值,避免过度渲染,减少GPU负载。 ### 12. Bitmap缓存策略 - 使用 ...
AS3是Adobe Flash Professional和Flex Builder等工具所使用的编程语言,用于创建交互式内容和游戏。雷电效果在游戏中的应用可以增加紧张感和刺激性,使得游戏体验更加丰富。 首先,让我们了解AS3中的基本概念。...
ActionScript3.0是Adobe Flash Professional和Flex SDK中的编程语言,它以其强大的性能和丰富的功能为网页和游戏开发提供了无限可能。本项目——“三角也疯狂”,就是一个基于ActionScript3.0开发的射击小游戏,展示...
首先,我们要理解AS3.0(ActionScript 3.0)是Adobe Flash Professional和Flex的主要编程语言,用于创建富互联网应用和动画。以下是对这个涂鸦板实现过程的详细解析: 1. **基本概念**:涂鸦板的核心是一个绘图环境...