首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Flash 矢量图和位图性能对比 导出为位图/缓存为位图 export as bitmap / cache as bitmap

Flash 矢量图和位图性能对比 导出为位图/缓存为位图 export as bitmap / cache as bitmap

作者头像
用户1258909
发布2018-07-24 17:32:58
9130
发布2018-07-24 17:32:58
举报
文章被收录于专栏:拂晓风起拂晓风起拂晓风起

 大家都知道Flash处理矢量图比位图要慢,而具体的性能上对比也有不少的前人已经做过。

http://bbs.9ria.com/forum.php?mod=viewthread&tid=228212&extra=page%3D1%26filter%3Dtypeid%26typeid%3D332&page=1

这里copy一下别人的结论,4种模式下的性能对比:

另外,这里想补充2点,第一个是关于为什么位图是否带AS链接的区别;第二个是导出为位图和缓存为位图的区别。

1、首先看看这里位图指的是怎么样的场景:

trace一下Ball元件的子节点,我们会发现位图带不带导出AS链接,有惊人的差别。 不带AS链接,子节点是一个flash.display.Shape 带AS链接,子节点是一个flash.display.Bitmap 我的理解是: 不带AS链接,编译器认为这个位图不会再重复使用,为了保持矢量作风(Flash喜欢矢量),把位图分离填充到Shape中。 如果导出了AS链接,那么编译器会知道日后还会实例化(new)这个BitmapData,所以就生成为Bitmap

2、在测试过程中,尝试了一下“导出为位图”和“缓存为位图”。

缓存为位图也就是上边链接文章说的方式,对于元件本身没有动画的情况,是非常有效的。当然,文章的示例程序还是包了一层MovieClip,也许实际应用会有更高效的写法(例如BitmapData.draw等) 相应,尝试了一下导出为位图,按官方资料介绍,这里只是运行时和编译时转为位图的区别,但是实际效果来看,导出为位图跟原来矢量效果没有差别。 这里百思不得其解。 trace可以发现,导出为位图,实际运行过程中,Ball和Ball的子元件都是原来的类型(MovieClip和Shape),而且Ball的cacheAsBitmap是false,没有看到任何位图的影子。 也许这又回到了第一个问题上,虽然导出了位图,但这个位图还是被分离到Shape里边了。 简单结论:导出为位图无效。。。 

如果大家有更好的见解,请不妨留言

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2013-12-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、首先看看这里位图指的是怎么样的场景:
  • 2、在测试过程中,尝试了一下“导出为位图”和“缓存为位图”。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档