ActionScript在Vector性能上的提升

By Minidxer | October 14, 2008

真正的Flash Player 10在本月即将到来,FlashCamp也如火如荼的进行着,大部分开发者都为它的3-d,text engines以及Pixel Bender而兴奋不已,往往都忽视了另一个重要的特性:Vector。下面通过两段代码,分析说明了新旧版本中Vector性能以及用法上的不同,有兴趣地可以看看:



旧版本:

  1. private function testArray():Number{
  2.   var startTime:Date = new Date();
  3.   var arrStr:String = null;
  4.   var arr:Array = new Array();
  5.   var i:int=0;
  6.   for (i=0;i<=94;i++){  
  7.     arr.push(i);
  8.   }
  9.   for (i=0;i<=arr.length;i++){  
  10.     arr.push(arr.pop());  
  11.     arr.sort().reverse();  
  12.     arr.push(arr.splice(0,1))
  13.   } 
  14.   arrStr = arr.join()
  15.   return (new Date()).getTime() - startTime.getTime(); }

新版本:

  1. private function testVector():Number{
  2.   var startTime:Date = new Date();
  3.   var v:Vector.<int> = new Vector.<int>();
  4.   var arrStr:String = null;
  5.   var i:int = 0;
  6.   for (i=0;i<=94;i++){  
  7.     v.push(i)
  8.   } 
  9.   for (i=0;i<=v.length;i++){  
  10.     v.push(v.pop());  
  11.     v.sort(comp).reverse();  
  12.     v.push(v.splice(0,1))
  13.   } 
  14.   arrStr = v.join()
  15.   return (new Date()).getTime() - startTime.getTime(); }

具体分析说明可以看这里:
http://fupeg.blogspot.com/2008/10/actionscript-vector-performance_13.html

Topics: Adobe其他 | 1 Comment » | 393 views Tags: , ,

Search Posts