2010
4-30
以前老是怀疑AS3自定义命名空间会比默认命名空间效率低,正好最近想弄个简单的开源图形引擎,写框架我喜欢用自定义命名空间,因为那样看上去感觉比较高端
于是随便做了一个小测试:
在屏幕用BitmapData渲染的方式,创建了6400个颜色不一样的小点,因为是测试命名空间嘛,因此把渲染的预先判断关掉了,即每帧都在重绘所有区域!SBox的第三个默认参数是delay:int = 40,1秒钟等于25次渲染,每次都是6400个小点绘制到屏幕,并且开启了强行锁帧。
为了测试命名空间区别,因此直接将内部命名空间改成public或者protected,又输出了另一个版本来进行比较,以下两个截图即是!图1是使用默认命名空间的绘制效率,即本来不想让外部随便访问的属性,改成了protected或者public
图2是使用自定义命名空间的绘制效率
看了这篇文章后,你也可以回顾这篇文章:http://www.xiaos8.com/article.asp?id=406
这次测试用的图形引擎,就是这篇文章讲引擎的演变过来的,原来的引擎是工作时写的没办法直接开源,现在重新写了一次,并且在不断的优化,和改善其工作方式。另外上个引擎演示吧。引擎所加载的图片:http://www.xiaos8.com/uploads/flash/engine/image.png
这里面叠加播放了400个动画,目前还没做太多什么优化~优化标准都是按照120帧来跑的
评论Feed: http://www.xiaos8.com/feed.asp?q=comment&id=560
于是随便做了一个小测试:
在屏幕用BitmapData渲染的方式,创建了6400个颜色不一样的小点,因为是测试命名空间嘛,因此把渲染的预先判断关掉了,即每帧都在重绘所有区域!SBox的第三个默认参数是delay:int = 40,1秒钟等于25次渲染,每次都是6400个小点绘制到屏幕,并且开启了强行锁帧。
var box:SBox = new SBox(400,400);
box.turnOn();
for(var iy:int = 0; iy < 80; iy ++){
for(var ix:int = 0; ix < 80; ix ++){
var movie:SSlide = new SSlide(new BitmapData(1,1,false,Math.random() * 0xffffff));
movie.enabled = false;
movie.x = ix * 2;
movie.y = iy * 2;
box.addSon(movie);
}
}
addChild(box);
SBox,SSlide等类的内部原本是用自定义命名空间来防止调用某些我不想让使用引擎的开发者调用的接口。box.turnOn();
for(var iy:int = 0; iy < 80; iy ++){
for(var ix:int = 0; ix < 80; ix ++){
var movie:SSlide = new SSlide(new BitmapData(1,1,false,Math.random() * 0xffffff));
movie.enabled = false;
movie.x = ix * 2;
movie.y = iy * 2;
box.addSon(movie);
}
}
addChild(box);
为了测试命名空间区别,因此直接将内部命名空间改成public或者protected,又输出了另一个版本来进行比较,以下两个截图即是!图1是使用默认命名空间的绘制效率,即本来不想让外部随便访问的属性,改成了protected或者public
图片名称:图1 ![]() |
图2是使用自定义命名空间的绘制效率
图片名称:图2 ![]() |
这次测试用的图形引擎,就是这篇文章讲引擎的演变过来的,原来的引擎是工作时写的没办法直接开源,现在重新写了一次,并且在不断的优化,和改善其工作方式。另外上个引擎演示吧。引擎所加载的图片:http://www.xiaos8.com/uploads/flash/engine/image.png
这里面叠加播放了400个动画,目前还没做太多什么优化~优化标准都是按照120帧来跑的
[最后修改由 sunbright, 于 2010-04-30 14:37:59]
评论Feed: http://www.xiaos8.com/feed.asp?q=comment&id=560
快速浏览
类别
标题
评论/流量
日期






- 查看svn更新内容以及最新状态(实时更新)
- 查看框架API文档(09.6.15更新)
- 查看框架代码(09.4.20更新)
框架暂停开发,且没有完全竣工,目前只能使用air包和library包!