AS3自定义命名空间和默认命名空间效率比较
以前老是怀疑AS3自定义命名空间会比默认命名空间效率低,正好最近想弄个简单的开源图形引擎,写框架我喜欢用自定义命名空间,因为那样看上去感觉比较高端 .
于是随便做了一个小测试:
在屏幕用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等类的内部原本是用自定义命名空间来防止调用某些我不想让使用引擎的开发者调用的接口。
为了测试命名空间区别,因此直接将内部命名空间改成public或者protected,又输出了另一个版本来进行比较,以下两个截图即是!
图1是使用默认命名空间的绘制效率,即本来不想让外部随便访问的属性,改成了protected或者public
文章来自:flex技术培训 www.flexjs.cn

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。