Measuring the actual frame rate : Frame Event « Animation « Flash / Flex / ActionScript






Measuring the actual frame rate

 
package {
  import flash.display.*;
  import flash.events.*;
  import flash.utils.*;
  import flash.text.*;

  public class Main extends Sprite {
    private var lastFrameTime:Number;
    private var output:TextField = new TextField(  );

    public function Main() {
      output.autoSize = TextFieldAutoSize.LEFT;
      output.border     = true;
      output.background = true;
      output.selectable = false;
      addChild(output);

      addEventListener(Event.ENTER_FRAME, enterFrameListener);
    }

    private function enterFrameListener (e:Event):void {
      var now:Number = getTimer(  );
      var elapsed:Number = now - lastFrameTime;
      var framesPerSecond:Number = Math.round(1000/elapsed);
      output.text = "Time since last frame: " + elapsed
             + "\nExtrapolated actual frame rate: " + framesPerSecond
             + "\nDesignated frame rate: " + stage.frameRate;
      lastFrameTime = now;
    }
  }
}            

        








Related examples in the same category

1.Add Enter Frame event listener
2.Designated Frame Rate Versus Actual Frame Rate
3.Animating with the ENTER_FRAME Event: Animating a TextField horizontally
4.Move TextField in animation