CC影子

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  28 随笔 :: 0 文章 :: 11 评论 :: 28867 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

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   CC影子  阅读(2283)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示