CC影子

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

Flash中使用位图的性能要高于矢量图,究竟有多大区别呢?数据有最好的说服力,开始测试:

一、机器配置

        

二、测试过程

测试程序控制红色小球在舞台中不停匀速移动,通过改变小球数量控制实际帧率在24帧/秒。

Fla默认帧率设置为25帧/秒,比较主流的游戏帧率,24帧可以认为已经达到处理瓶颈。

增减小球:

上(↑):增加10个小球,按住Shift键为100个

下(↓):删除10个小球,按住Shift键为100个

考虑到鼠标事件对影响性能,禁止了小球的鼠标事件

下面开始测试:

1、矢量图

 

2、使用“缓存为位图”选项

 

3、位图无导出类

 

4、位图有导出类(我管这叫“纯位图”)

 

三、结果分析

以下是收集到的测试数据,手边没有收集CPU的工具,用的任务管理器,但误差不大

另外不同CPU在最终元件数量上可能有较大区别,整体比较应该差不多

 

从统计中可以看出Flash在不同图形式上的处理差异很大:

  1. Flash的矢量图渲染性能真的很差,不到纯位图的10%。有意思的是CPU使用没有限制有多少用多少,因为有其他程序在跑无法达到100%,此时的机器使用量已经在95%以上;
  2. “缓存为位图”选项,在性能提升上非常明显示,应该可以满足大部份情况下的性能要求,遗憾的是内存增加不少,这里没有收集内存了,有兴趣的可以跑起来观察下;
  3. 没有导出类的位图作为动画元素时,几乎不能带来性能提升,这个问题很严重,你有没有偷懒忘了给位图设置导出类呢?如果只是单一背景这个并不明显,有兴趣也可以试试;
  4. 有导出类的位图性能没得说了,稍有点遗憾的是swf文件会变大;
  5. 位图渲染时,CPU使用上限有明显的限制——仅能使用单核的比例。

测试程序下载:https://files.cnblogs.com/samen168/%E7%9F%A2%E9%87%8F%E5%9B%BE%E4%B8%8E%E4%BD%8D%E5%9B%BE.rar

posted on 2013-07-17 08:44  CC影子  阅读(2236)  评论(0编辑  收藏  举报