ActionScript 3.0 优化
来源:互联网 发布:网络综合布线工程 编辑:程序博客网 时间:2024/04/30 06:08
对ActionScript优化发现了一些有趣的结果,尽管没有新的技术,却是点小技巧,能提高运行效率。
数组 Array indexing
下面是一个简单的过程
- private function method1() : void
- {
- var tmpVar:int;
- for(var i:Number=0; i<testArray.length; i++)
- {
- tmpVar = testArray[i];
- }
- }
i定义为Number ,运行时间是: 53.34 毫秒
for(var i:int=0; i<testArray.length; i++)
i定义为int,效率提高了,35.58 毫秒
var l:int = testArray.length;
for(var i:int=0; i<l; i++)
时间: 21.6毫秒!
类中的常量
var tmpVar:int;
for(var i:Number=0; i<100000; i++)
{
tmpVar = SomeClass.SOME_CONSTANT;
}
for(var i:Number=0; i<100000; i++)
{
tmpVar = SomeClass.SOME_CONSTANT;
}
需要34.08毫秒,如果把赋值放在循环外了?
var tmpVar:int;
var myConstant:int = SomeClass.SOME_CONSTANT;
for(var i:Number=0; i<100000; i++)
{
tmpVar = myConstant;
}
var myConstant:int = SomeClass.SOME_CONSTANT;
for(var i:Number=0; i<100000; i++)
{
tmpVar = myConstant;
}
只需要15.8毫秒
变量
for(var i:int=0; i<100000; i++)
{
var v1:Number=10;
var v2:Number=10;
var v3:Number=10;
var v4:Number=10;
var v5:Number=10;
}
{
var v1:Number=10;
var v2:Number=10;
var v3:Number=10;
var v4:Number=10;
var v5:Number=10;
}
时间 46.52 毫秒
如果把变量定义在一起,就像这样:
for(var i:int=0; i<100000; i++)
{
var v1:Number=10, v2:Number=10, v3:Number=10, v4:Number=10, v5:Number=10;
}
{
var v1:Number=10, v2:Number=10, v3:Number=10, v4:Number=10, v5:Number=10;
}
平均时间19.74毫秒
位操作
位运算也可以提高效率,
例如乘除
for(var i:int=0; i<100000; i++)
{
var val1:int = 4 * 2;
var val2:int = 4 * 4;
var val3:int = 4 / 2;
var val4:int = 4 / 4;
}
{
var val1:int = 4 * 2;
var val2:int = 4 * 4;
var val3:int = 4 / 2;
var val4:int = 4 / 4;
}
平均时间: 49.12毫秒,使用位运算符下降到35.56毫秒
for(var i:int=0; i<100000; i++)
{
var val1:int = 4 << 1;
var val2:int = 4 << 2;
var val3:int = 4 >> 1;
var val4:int = 4 >> 2;
}
{
var val1:int = 4 << 1;
var val2:int = 4 << 2;
var val3:int = 4 >> 1;
var val4:int = 4 >> 2;
}
这仅仅是一小部分,更多的文章请查看
- ActionScript 3.0 优化
- ActionScript 3.0 优化
- 一些关于ActionScript 3.0性能的优化
- 优化 ActionScript 性能
- ActionScript 3.0 性能优化小知识(转)
- ActionScript 3.0
- ActionScript针对性能和内存优化内容
- ActionScript 3.0 overview(1)
- ActionScript 3.0 overview(2)
- ActionScript 3.0 闪亮登场!
- ActionScript 3.0 的优点
- ActionScript 3.0 Cookbook勘误
- Essential ActionScript 3.0 - 第一章
- ActionScript 3.0 语言概述
- ActionScript 3.0 包
- ActionScript 3.0 命名空间
- ActionScript 3.0 变量
- ActionScript 3.0权威指南
- C++中空格的读入与输出
- 一个声音的程序
- 你丫智力题做多了吧
- Qt for Visual C++ 编译过程
- VC获取当前程序文件的路径,文件名以及路径+文件名
- ActionScript 3.0 优化
- iLBC编解码相关知识
- oo里一些废弃的用法
- 事件的流转控制
- 非技术型话题
- C++组合框控件使用方法
- .net操作PDF的一些资源(downmoon收集)
- 揪出键盘上的“老鼠”
- java垃圾收集算法