作者wegerx (wegerx)
看板Flash
标题Re: [问题] 过度使用onEnterFrame造成delay的问题?
时间Tue Aug 29 00:23:19 2006
※ 引述《etrexetrex (ETREX)》之铭言:
: http://student.scvs.tpc.edu.tw/~s119069/FLASH/temp/fire1.html
: 以上是我出问题的FLASH
: 这个FLASH是模仿烟火
: 在画面点一下左键就会产生一圈烟火
: =
: 请注意每一颗烟火亮点都是动态产生的影片片段
: 为了让每一颗烟火亮点能够移动,我必须使用【烟火亮点i.onEnterFrame】
: 这个事件去控制烟火亮点的位置
: 当你在画面上狂点左键时,烟火的移动速度会明显的下降
: 原因是CPU使用率到达100%
: 请问除了【烟火事先做好(不计算烟火亮点的移动)】这个方法之外
: 有没有可能让这个效能提升
: 例如用 setInterval 会不会比较快之类的?
通常在下列几种状况会消耗更多的效能:
1.渐层色
2.alpha渐变
3.形状曲线数太多
根据我的观察,你的烟火滞留在画面上的时间过久,
如果非必要还是早点从舞台上移除比较好;此外就是渐层色和alpha渐变,
说明文件里都特别提到这会减低拨放效率,对於大量的图形来说还是少用好。
最後是形状曲线数,越复杂的曲线将会消耗越多的计算,
可以的话尽量减少曲线数。
那麽如何看现在的图形有多少曲线呢?虽然我不知道有没有直接看的方法,
但是可以使用修改>形状>最佳化来减少曲线数,
这时面板会显示修改前和修改後的曲线数,如此就可以知道图形有多少曲线了。
顺带一提,一个圆在flash里视为8条曲线。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.145.182