diff --git a/bin-debug/BitmapCachingExample.swf b/bin-debug/BitmapCachingExample.swf index 8e3bd73..81e5898 100644 Binary files a/bin-debug/BitmapCachingExample.swf and b/bin-debug/BitmapCachingExample.swf differ diff --git a/bin-debug/CacheExternalAssetsExample.swf b/bin-debug/CacheExternalAssetsExample.swf index 5d357dc..0b8322b 100644 Binary files a/bin-debug/CacheExternalAssetsExample.swf and b/bin-debug/CacheExternalAssetsExample.swf differ diff --git a/bin-debug/FrameRateControlExample.swf b/bin-debug/FrameRateControlExample.swf index e557951..8b73b7b 100644 Binary files a/bin-debug/FrameRateControlExample.swf and b/bin-debug/FrameRateControlExample.swf differ diff --git a/bin-debug/OptimazingTools.swf b/bin-debug/OptimazingTools.swf index 32734fc..b2f6d3a 100644 Binary files a/bin-debug/OptimazingTools.swf and b/bin-debug/OptimazingTools.swf differ diff --git a/bin-debug/TrackListenersExample.swf b/bin-debug/TrackListenersExample.swf index af445c1..daad9bd 100644 Binary files a/bin-debug/TrackListenersExample.swf and b/bin-debug/TrackListenersExample.swf differ diff --git a/src/OptimazingTools.mxml b/src/OptimazingTools.mxml index bc9ddc7..733ed88 100644 --- a/src/OptimazingTools.mxml +++ b/src/OptimazingTools.mxml @@ -8,20 +8,10 @@ diff --git a/src/com/elad/optimize/memory/FrameStats.as b/src/com/elad/optimize/memory/FrameStats.as index e7059aa..3c19339 100644 --- a/src/com/elad/optimize/memory/FrameStats.as +++ b/src/com/elad/optimize/memory/FrameStats.as @@ -98,6 +98,13 @@ package com.elad.optimize.memory // charts data provider private var dataProvider:Vector.; + + // testing + private var numOfFrames:int = 0; + private var methodToTest:Function; + private var numOfTimerToRun:int; + private var startEnterFrame:int; + private var stopEnterFrame:int; public function FrameStats( main:*, isDebugMode:Boolean = false, isShowCounters:Boolean = false, isForceInvalidateAndUpdateAfterEvent:Boolean = false ) @@ -382,5 +389,35 @@ package com.elad.optimize.memory globalText.htmlText = globalStyle; pieText.htmlText = pieStyle; } + + public function testingExecutionTimeOfMethod( methodToTest:Function, numOfTimerToRun:int, + startEnterFrame:int = 15, stopEnterFrame:int = 16 ):void + { + this.numOfFrames = numOfFrames; + this.methodToTest = methodToTest; + this.numOfTimerToRun = numOfTimerToRun; + this.startEnterFrame = startEnterFrame; + this.stopEnterFrame = stopEnterFrame; + + main.addEventListener(Event.ENTER_FRAME, trackTest ); + } + + private function trackTest(event:Event):void + { + if ( ++numOfFrames == startEnterFrame ) + { + isDebugMode = true; + + for (var i:int=0; i < numOfTimerToRun; i++) + methodToTest(); + } + + if ( numOfFrames == stopEnterFrame ) + { + isDebugMode = false; + this.removeEventListener(Event.ENTER_FRAME, trackTest ); + methodToTest = null; + } + } } } \ No newline at end of file