- Performance Tips for CPU Usage
提供一些基本的Actionscript 3.0 最佳化的寫法。
做整數運算使用 int 會比 Number 快許多,int 又比 uint還要快一點。
不良的寫法如下:
var n:Number;
n++;
for(var i:Number=0; i<100;i++){}
較好的寫法如下:
var n:int;
n++;
for(var i:int=0; i<100;i++){}
宣告變數時給予明確的型態會比宣告成Object快許多。
不良的寫法如下:
var i;
var j:Object;
var k:*;
較好的寫法如下:
var i:int;
var j:Boolean;
var k:Number;
型態轉型使用 Type(variable) 會比使用 as 或者其他轉換函式快許多
不良的寫法如下:
var n:int = 100;
var m:String = n.toString();
var o:Object;
o as int;
較好的寫法如下:
var n:int = 100;
var m:String = String(n)();
var o:Object;
int(o);
直接讀取變數值會比透過物件來取值快許多
不良的寫法如下:
var obj:Object = {"n":1000} ;
for(var i:int=0; i<obj.n;i++){}
較好的寫法如下:
var obj:Object = {"n":1000} ;
var n:int = obj.n;
for(var i:int=0; i<n;i++){}
陣列複製使用concat()會比loop複製快
不良的寫法如下:
var arr1:Array = new Array(100000);
var arr2:Array = new Array(100000);
for(var i:int = 0; i<arr1.length ; i++){
arr1[i] = arr2[i];
}
較好的寫法如下:
var arr1:Array = new Array(100000);
var arr2:Array = new Array(100000);
arr2 = arr1.concat();
基本數學運算使用自行客制化的會比使用Math class快
不良的寫法如下:
Math.floor(0.9);
Math.abs(-1);
Math.abs(n,2);
較好的寫法如下:
int(0.9);
n>0?n:-n;
n*n;
想要了解更多關於Actionscript的最佳化可以參考下面的網頁
http://www.rozengain.com/blog/2007/05/01/some-actionscript-30-optimizations/
No comments:
Post a Comment