Flash游戏开发:BitmapData的使用

所属分类: 媒体动画 / Flash教程 阅读数: 1472
收藏 0 赞 0 分享
作为Flash游戏开发者,整天都在跟Flash的显示效率搏斗。最近为了更好的节约效率,在下做了一些测试,得到了一些结果,同时也感到了一些问题,请诸位高手也帮忙看看!
********************************************************************
1、copyPixels,5000次,1000*590,没有lock,后addChild
cost: 10828
cost: 10844
cost: 10625
2、copyPixels,5000次,1000*590,没有lock,先addChild
cost: 10828
cost: 10844
cost: 10625
3、copyPixels,5000次,1000*590,有lock
cost: 10766
cost: 10654
======================================================
结论:
1、lock没有效果?
2、先后addChild也没区别?
======================================================
4、copyPixels,5000次,128*64,没有lock,先addChild
cost: 47
cost: 47
5、copyPixels,5000次,1000*590,rect(128*64),没有lock,先addChild
cost: 62
cost: 62
6、copyPixels,5000次,1000*590,rect(128*64),dest(950,0),没有lock,先addChild
cost: 31
======================================================
结论:
1、copyPixel速度和拷贝区域象素数量严格相关;
2、原始图大小有少许影响,原始图如果比较大,跟小图取一样范围,也会有些许效率损失
======================================================
7、draw,5000次,128*64,没有lock,先addChild,图片无透明度
cost: 219
cost: 219
8、draw,5000次,1000*590,没有lock,先addChild,图片无透明度
cost: 10328
cost: 10407
9、draw,5000次,128*64,没有lock,先addChild,整张图片有透明度渐变
cost: 218
cost: 218
cost: 219
10、draw,5000次,1000*590,没有lock,先addChild,整张图片有透明度渐变
cost: 11843
cost: 11610
cost: 11969
======================================================
结论:
1、draw对Bitmap有优化,越大尺寸,draw和copyPixel的区别越小
2、透明度对大图片draw效能有影响,大约是画图本身的10%,小图片可忽略
======================================================
11、draw, 5000次,1000*590,clip(128,64),没有lock,先addChild,无透明
cost: 156
cost: 172
cost: 171
12、draw, 5000次,1000*590,clip(128,64),没有lock,先addChild,整张图片有透明度渐变
cost: 219
cost: 219
======================================================
结论:
1、clip对draw性能提升显著,基本相当于clip后大小的图片的效能
2、大图clip后效果反而比同尺寸小图高?猜想是颜色原因,见下一个实验
======================================================
13、draw,5000次,128*64,没有lock,先addChild,图片纯色
cost: 157
cost: 172
cost: 157
14、draw,5000次,128*64,没有lock,先addChild,图片杂色
cost: 172
cost: 171
======================================================
结论:
1、效能和图片颜色没有关系??看来只能是和png存储结构有关了。已测试的3张同样大小的图片,纯色与杂色接近,云彩图案的最慢。
======================================================
15、循环用setPixel32和setPixel32逐象素设置,1000*590,1次
cost: 297
16、循环用setPixel32和setPixel32逐象素设置,1000*590,1000次
Error: Error #1502: 脚本的执行时间已经超过了 15 秒的默认超时设置。
17、循环用setPixel32和setPixel32逐象素设置,1000*590,10次,没有lock
cost: 2875
18、循环用setPixel32和setPixel32逐象素设置,1000*590,10次,有lock
cost: 2109
======================================================
结论:
1、这样搞还是比较慢的……千万不要这样搞……
2、居然有15秒限制?…………
3、lock在这里体现了一些作用,可能因为逐象素操作对刷新的影响太大了。但是作用也没有明显到什么地步。
======================================================
19、draw,5000次,1000*590,目标图片500*590
cost: 5875
======================================================
结论:
1、如所料一般,目标区域超出的部分也是不会画的
======================================================
********************************************************************
我还会持续进行各种测试,有新的结果会继续报告上来~
更多精彩内容其他人还在看

flash怎么制作镜像动画?

flash怎么制作镜像动画?flash中制作动画很简单,怎么才能制作一个动画的镜像呢?下面我们就来看看flash制作镜像动画的详细教程,很简单,需要的朋友可以参考下
收藏 0 赞 0 分享

flash制作图片变换的gif动画效果

这篇教程是向脚本之家的朋友分享flash制作图片变换的gif动画效果方法,教程制作出来的动画效果非常不错,难度不是很大,一起来学习吧
收藏 0 赞 0 分享

flash怎么绘制和谐号火车从火车道开过的动画?

flash怎么绘制和谐号火车从火车道开过的动画?想制作一个火车从轨道上飞奔而过的一个画面,该怎么制作呢?下面我们就来看看flash制作和谐号火车从火车道开过的动画的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

FLASH怎么制作红烛燃烧的动画?

FLASH怎么制作红烛燃烧的动画?FLASH中做动画很方便,今天我们就来看看使用flash制作蜡烛燃烧并流下烛蜡的教程,很简单,下面我们就来看看详细教程,需要的朋友可以参考下
收藏 0 赞 0 分享

flash怎么填充渐变色? flash渐变填充的使用方法

flash怎么填充渐变?flash中想给图形添加渐变色,该怎么添加呢?下面我们就来看看flash渐变填充的使用方法,这是基础教程,很简单,需要的朋友可以参考下
收藏 0 赞 0 分享

flash怎么制作磁铁吸钉子的动画?

flash怎么制作磁铁吸钉子的动画?我们知道钉子放到磁铁周围就会直接将钉子吸走,该怎么制作这个动画呢?下面我们就来看看flash制作磁铁吸引钉子的动画教程,需要的朋友可以参考下
收藏 0 赞 0 分享

flash怎么画中国国宝大熊猫? flash绘制卡通大熊猫的教材

flash怎么画中国国宝大熊猫?flash中制作动画很简单,但是也可以简单的绘制图形,该怎么绘制呢?今天我们就来看看flash绘制卡通大熊猫的教材,需要的朋友可以参考下
收藏 0 赞 0 分享

Flash工具缩放、旋转和倾斜对象使用介绍

今天小编为大家介绍Flash工具缩放、旋转和倾斜对象使用方法,对于初学者来说,是个很好的学习教程,推荐到脚本之家,一起来看看吧
收藏 0 赞 0 分享

flash中怎么用鼠标绘制一朵木兰花?

flash中怎么用鼠标绘制一朵木兰花?flash中除了做动画效果以外,还可以绘制图形,今天我们就来看看flash用鼠标绘制一朵木兰花的详细教程,很简单,详细教程请看下文
收藏 0 赞 0 分享

FLASH制作一个小车一直往前推的动画?

FLASH制作一个小车一直往前推的动画?想做一个动画,就是有个小推车一直不断的往前进,中途不能倒,该怎么制作呢?下面我们就来看看这个动画的制作方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多