Flash显示优化

一、问题
flash中的显示对象以层级的形式存在于显示列表。在每一帧flash会遍历显示列表对每一个显示对象进行渲染。但是帧间隔时间太短,当显示列表上的对象太多如大场景的时候,flash无法即时渲染就会出现cpu飙升甚至卡顿的现象,这时就需要考虑显示优化了。

二、方案
优化的关键是减少每帧flash的计算量。
可以通过以下几个方面来进行:
1.及时渲染(按需渲染)
2.缓存机制
3.避免不必要的交互

三、具体优化点
1.按需渲染
仅显示在显示窗口可见的对象。不可见的对象移出显示列表,停止播放,移出帧动作帧事件和其他隐藏时不必要的事件

2.使用位图缓存
矢量图:体积小,可以任意缩放不失帧,但是它的渲染完全通过计算得到,会消耗大量的cpu,渲染慢。
位图:基于像素缩放。在flash中渲染最快(Bitmap.bitmapData>BiatmapData.copyPixels>Graphics.beginbitmapFill),但是体积大。
巧用位图:由于在flash中多个Bitmap可以共用同一个BitmapData而且不会增加太多内存,内存主要由BitmapData占用。所以可以采用在在渲染过程中缓存Bitmapdata,当再次渲染需要用直接从内存里面获取,可以大大提高渲染时间。总之,用空间换时间。

3.减少不必要的交互
设置Sprite的mouseEnabled,mouseChildren, tabEnabledtab,Children为false,仅当需要时才开启。减少flash在帧中的鼠标检测和键盘检测。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值