AS3 卷屏

来源:互联网 发布:夏佐淘宝店铺地址 编辑:程序博客网 时间:2024/04/30 11:47

   昨天和朋友讨论了下AS3的渲染机制,其中有几点疑惑,今天做了下测试.

sprite 的 scrollRect 和 mask 2个方法在性能上有什么区别,

实验时都是使用20个MovieClip来进行测试的,

1' 不进行任何处理时,整个程序的占用CPU大约在 30%-40%, 内存为1800-2100 ,在程序最小化时,CPU占用降为0,大略可以估计整个占用为flash自身的渲染占用. 

2'使用scrollRect显示其中的一个MovieClip,CPU的占用在7%-14%左右,内存为1300-1600.

3'使用mask显示同样大小的矩形框,CPU占用依然为30%-40%,内存为1800-2100 ;

开始时觉得可能是使用mask时依然渲染了全部场景,但是右键显示重绘区域时,并没有如我所预期的那样,

而是仅仅只有显示的矩形部分有重绘框,然后在朋友的协助下,设置了 cacheAsBitmap 属性.

结果使用mask和scrollRect 2个方法后,消耗的CPU几乎一致,为7%-14%,内存则为1600-1700;


由此大概可以猜测:  

1,没有使用位图缓存时,使用遮罩CPU和内存消耗  与没有使用时相同,即可能是依然绘制了整个舞台,只是看不见..

2,使用了位图缓存后,CPU和内存消耗都大幅下降,应该是真正的只绘制了部分舞台.


原创粉丝点击