ActionScript 3.0 最佳化

來源:互聯網
上載者:User

對ActionScript最佳化發現了一些有趣的結果,儘管沒有新的技術,卻是點小技巧,能提高運行效率

數組 Array indexing

  下面是一個簡單的過程

  1. private function method1() : void
  2. {
  3.     var tmpVar:int;
  4.     for(var i:Number=0; i<testArray.length; i++)
  5.     {
  6.         tmpVar = testArray[i];
  7.     }
  8. }

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;
}需要34.08毫秒,如果把賦值放在迴圈外了?var tmpVar:int;
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;
}時間 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;
}平均時間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;
}平均時間: 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;
}原文http://www.rozengain.com/blog/2007/05/01/some-actionscript-30-optimizations/

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.