加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flash显示优化

发布时间:2020-12-15 19:51:43 所属栏目:百科 来源:网络整理
导读:一、问题 flash中的显示对象以层级的形式存在于显示列表。在每一帧flash会遍历显示列表对每一个显示对象进行渲染。但是帧间隔时间太短,当显示列表上的对象太多如大场景的时候,flash无法即时渲染就会出现cpu飙升甚至卡顿的现象,这时就需要考虑显示优化了。

一、问题
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在帧中的鼠标检测和键盘检测。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读