※現在、「wonderfl build flash online」求人コンテンツ制作に関してのアンケートを実施中です!みなさまのお力添えを頂いて、続々とアンケート結果が集まっていますが、まだまだ募集しております。ご協力のほど、どうぞよろしくお願いいたします!

wonderfl運営事務局
→アンケートページ(※ログインしてからお答えいただけるようになっています。)

 notice: Flash editor updated! Join the development! Thanks to MiniBuilder


forked from : alumican_net's ColorMatrixFilterとColorTransformはどっちが速い? [diff(74)]

FORKED

Array.RETURNINDEXEDARRAYってどうよ?(Vector.sortも追加した) Point.distance [diff(62)]

  1. // [実験] Point.distance
  2. package {
  3. import flash.display.*;
  4. import flash.geom.Point;
  5. import flash.text.*;
  6. import flash.utils.*;
  7. public class Main extends Sprite
  8. {
  9.     public function Main():void
  10.     {
  11.         var n:uint = 10000;
  12.         var points:Array = new Array(n);
  13.         for(var i:uint = 0; i < n; ++i)
  14.         {
  15.             points[i] = new Point(
  16.                 (Math.random() - 0.5) * 1000,
  17.                 (Math.random() - 0.5) * 1000
  18.             );
  19.         }
  20.         
  21.         _setup();
  22.         
  23.         _measure("Point.distance"function ():void
  24.         {
  25.             for(var i:uint = 0; i < n - 1; ++i)
  26.             {
  27.                 Point.distance(points[i], points[i + 1]);
  28.             }
  29.             
  30.         }, 100);
  31.         
  32.         var dx:Number, dy:Number, p0:Point, p1:Point;
  33.         
  34.         _measure("Math.sqrt(x^2 + y^2)"function ():void
  35.         {
  36.             for(var i:uint = 0; i < n - 1; ++i)
  37.             {
  38.                 p0 = points[i    ];
  39.                 p1 = points[i + 1];
  40.                 
  41.                 dx = p0.x - p1.x;
  42.                 dy = p0.y - p1.y;
  43.                 Math.sqrt(dx * dx + dy * dy);
  44.             }
  45.             
  46.         }, 100);
  47.     }
  48.     
  49.     private function _measure(
  50.         title:String, func:Function, numTimes:uint, ...params):void
  51.     {
  52.         _time = getTimer();
  53.         
  54.         for (var i:int = 0; i < numTimes; i++) {
  55.             func.apply(null, params);
  56.         }
  57.         
  58.         _time = getTimer() - _time;
  59.         
  60.         _debug("[ " + title + " ] --> " + _time + " ms");
  61.     }
  62.     
  63.     private function _debug(log:String):void
  64.     {
  65.         _field.appendText(log + "\n");
  66.     }
  67.     
  68.     private var _field:TextField;
  69.     private var _time:uint;
  70.     
  71.     private function _setup():void
  72.     {
  73.         _field = new TextField();
  74.         _field.width = stage.stageWidth;
  75.         _field.height = stage.stageHeight;
  76.         
  77.         var format:TextFormat = _field.defaultTextFormat;
  78.         format.font = "_sans";
  79.         _field.defaultTextFormat = format;
  80.         
  81.         addChild(_field);
  82.     }
  83. }
  84. }
noswf
Get Adobe Flash Player