※現在、「wonderfl build flash online」求人コンテンツ制作に関してのアンケートを実施中です!みなさまのお力添えを頂いて、続々とアンケート結果が集まっていますが、まだまだ募集しております。ご協力のほど、どうぞよろしくお願いいたします!
wonderfl運営事務局
→アンケートページ(※ログインしてからお答えいただけるようになっています。)
addChildAttest
addChildAtが早い。
addChildAt(child, 0)は処理が速い
addChildAtでインデックス0にすると早い
addChildAt(instance, 0)は処理が速い。
performanceaddChildAt速いみたい
addChild() と addChildAt() の速度比較
performanceaddChildAt速い!
Testing Math.max-min vs if statement forked from: Testing Math.max-min vs if statement
- // forked from Fumio's Testing Math.max-min vs if statement
- package {
- import flash.display.Sprite;
- import flash.text.TextField;
- import flash.text.TextFieldAutoSize;
- public class Test extends Sprite {
- private var nMin:Number = 0;
- private var nMax:Number = 1;
- private var nCount:uint = 1000000;
- private var _txt:TextField;
- public function Test():void {
- var nTime:Number;
- var _str:String = "";
- _txt = new TextField();
- _txt.width = 200;
- _txt.autoSize = TextFieldAutoSize.LEFT;
- _txt.wordWrap = true;
- _txt.text = "";
- addChild(_txt);
- nTime = repeatTest(test1,-1,0.5,2);
- _str += "if: " + String(nTime) + "\n";
- nTime = repeatTest(test2,-1,0.5,2);
- _str += "Math.max-nin: " + String(nTime)+"\n";
- _txt.text = _str;
- }
- private function repeatTest(myFunction:Function, a:Number, b:Number, c:Number):Number {
- var nStart:Number = new Date().time;
- for (var i:int = 0; i < nCount; i++) {
- myFunction(a);
- myFunction(b);
- myFunction(c);
- }
- return new Date().time - nStart;
- }
- private function test1(n:Number):void {
- var nResult:Number;
- nResult = (n<nMin) ? nMin : n;
- nResult = (nResult > nMax) ? nMax : nResult;
- /*if (n>nMax) {
- nResult=nMax;
- } else if (n < nMin) {
- nResult=nMin;
- } else {
- nResult=n;
- }*/
- // trace(nResult);
- }
- private function test2(n:Number):void {
- var nResult:Number=Math.max(Math.min(nMax,n),nMin);
- // trace(nResult);
- }
- }
- }
Testing Math.max-min vs if statement forked from: Testing Math.max-min vs if statement
- // forked from Fumio's Testing Math.max-min vs if statement
- package {
- import flash.display.Sprite;
- import flash.text.TextField;
- import flash.text.TextFieldAutoSize;
- public class Test extends Sprite {
- private var nMin:Number = 0;
- private var nMax:Number = 1;
- private var nCount:uint = 1000000;
- private var _txt:TextField;
- public function Test():void {
- var nTime:Number;
- var _str:String = "";
- _txt = new TextField();
- _txt.width = 200;
- _txt.autoSize = TextFieldAutoSize.LEFT;
- _txt.wordWrap = true;
- _txt.text = "";
- addChild(_txt);
- nTime = repeatTest(test1,-1,0.5,2);
- _str += "if: " + String(nTime) + "\n";
- nTime = repeatTest(test2,-1,0.5,2);
- _str += "Math.max-nin: " + String(nTime)+"\n";
- _txt.text = _str;
- }
- private function repeatTest(myFunction:Function, a:Number, b:Number, c:Number):Number {
- var nStart:Number = new Date().time;
- for (var i:int = 0; i < nCount; i++) {
- myFunction(a);
- myFunction(b);
- myFunction(c);
- }
- return new Date().time - nStart;
- }
- private function test1(n:Number):void {
- var nResult:Number;
- if (n>nMax) {
- nResult=nMax;
- } else if (n < nMin) {
- nResult=nMin;
- } else {
- nResult=n;
- }
- // trace(nResult);
- }
- private function test2(n:Number):void {
- var nResult:Number=Math.max(Math.min(nMax,n),nMin);
- // trace(nResult);
- }
- }
- }
Testing Math.max-min vs if statement forked from: flash on 2009-3-5
- // forked from Fumio's flash on 2009-3-5
- package {
- import flash.display.Sprite;
- import flash.text.TextField;
- import flash.text.TextFieldAutoSize;
- import flash.utils.getTimer;
- public class FlashTest extends Sprite {
- public var _txt:TextField;
- public var sprite0:Sprite;
- public var sprite1:Sprite;
- private var n:int = 10000;
- public function FlashTest() {
- createTestEnvironment();
- loopTest();
- }
- private function createTestEnvironment():void {
- _txt = new TextField();
- _txt.autoSize = TextFieldAutoSize.LEFT;
- _txt.wordWrap = true;
- _txt.width = stage.stageWidth;
- addChild(_txt);
- sprite0 = new Sprite();
- addChild(sprite0);
- sprite1 = new Sprite();
- addChild(sprite1);
- }
- private function loopTest():void {
- var t0:int = loop0();
- var t1:int = loop1();
- var _str:String = "";
- _str += "0: " + t0 + ", ";
- _str+="1: "+t1+", ";
- _str+="ratio: "+t0/t1;
- _txt.text=_str;
- }
- private function loop0():int {
- var t:int=getTimer();
- for (var i:int=0; i<n; i++) {
- var mySprite:Sprite = new Sprite();
- sprite0.addChildAt(mySprite, 0);
- }
- return getTimer() - t;
- }
- private function loop1():int {
- var t:int=getTimer();
- for (var i:int=0; i<n; i++) {
- var mySprite:Sprite = new Sprite();
- sprite1.addChild(mySprite);
- }
- return getTimer() - t;
- }
- }
- }
Testing Math.max-min vs if statement forked from: flash on 2009-3-5
- // forked from Fumio's flash on 2009-3-5
- package {
- import flash.display.Sprite;
- import flash.text.TextField;
- import flash.text.TextFieldAutoSize;
- import flash.utils.getTimer;
- public class FlashTest extends Sprite {
- public var _txt:TextField;
- public var sprite0:Sprite;
- public var sprite1:Sprite;
- private var n:int = 10000;
- public function FlashTest() {
- createTestEnvironment();
- loopTest();
- }
- private function createTestEnvironment():void {
- _txt = new TextField();
- _txt.autoSize = TextFieldAutoSize.LEFT;
- _txt.wordWrap = true;
- _txt.width = stage.stageWidth;
- addChild(_txt);
- sprite0 = new Sprite();
- addChild(sprite0);
- sprite1 = new Sprite();
- addChild(sprite1);
- }
- private function loopTest():void {
- var t0:int = loop0();
- var t1:int = loop1();
- var _str:String = "";
- _str += "0: " + t0 + ", ";
- _str+="1: "+t1+", ";
- _str+="ratio: "+t0/t1;
- _txt.text=_str;
- }
- private function loop0():int {
- var t:int=getTimer();
- for (var i:int=0; i<n; i++) {
- var mySprite:Sprite = new Sprite();
- sprite0.addChildAt(mySprite, 0);
- }
- return getTimer() - t;
- }
- private function loop1():int {
- var t:int=getTimer();
- for (var i:int=0; i<n; i++) {
- var mySprite:Sprite = new Sprite();
- sprite1.addChild(mySprite);
- }
- return getTimer() - t;
- }
- }
- }
Testing Math.max-min vs if statement forked from: flash on 2009-3-5
- // forked from Fumio's flash on 2009-3-5
- package {
- import flash.display.Sprite;
- import flash.text.TextField;
- import flash.text.TextFieldAutoSize;
- import flash.utils.getTimer;
- public class FlashTest extends Sprite {
- public var _txt:TextField;
- public var sprite0:Sprite;
- public var sprite1:Sprite;
- private var n:int = 10000;
- public function FlashTest() {
- createTestEnvironment();
- loopTest();
- }
- private function createTestEnvironment():void {
- _txt = new TextField();
- _txt.autoSize = TextFieldAutoSize.LEFT;
- _txt.wordWrap = true;
- _txt.width = stage.stageWidth;
- addChild(_txt);
- sprite0 = new Sprite();
- addChild(sprite0);
- sprite1 = new Sprite();
- addChild(sprite1);
- }
- private function loopTest():void {
- var t0:int = loop0();
- var t1:int = loop1();
- var _str:String = "";
- _str += "0: " + t0 + ", ";
- _str+="1: "+t1+", ";
- _str+="ratio: "+t0/t1;
- _txt.text=_str;
- }
- private function loop0():int {
- var t:int=getTimer();
- for (var i:int=0; i<n; i++) {
- var mySprite:Sprite = new Sprite();
- sprite0.addChildAt(mySprite, 0);
- }
- return getTimer() - t;
- }
- private function loop1():int {
- var t:int=getTimer();
- for (var i:int=0; i<n; i++) {
- var mySprite:Sprite = new Sprite();
- sprite1.addChild(mySprite);
- }
- return getTimer() - t;
- }
- }
- }
notice: 





