帧频计数器

//在任意一个项目中嵌入一个这样的频帧计数器:
//var fpsDemo:FPSDemo = new FPSDemo();
//addChild( fpsDemo );

package 
{
	import flash.display.MovieClip;
	import flash.text.TextField;
	import flash.text.TextFormat;
	import flash.events.Event;
	import flash.utils.getTimer;

	public class FPSDemo extends MovieClip
	{
		//用来计算相对时间
		private var startTime:Number;
		//当前帧频数
		private var framesNumber:Number = 0;
		//展示实际帧频的文本域
		private var fps:TextField = new TextField();
		var textFormat:TextFormat = new TextFormat();

		public function FPSDemo()
		{
			fpsCounter();
		}

		//这是计数器的主函数:
		private function fpsCounter():void
		{
			//当动画开始时以毫秒为单位获取时间
			startTime = getTimer();
			// 向舞台添加文本域
			textFormat.size = 18;
			fps.defaultTextFormat=textFormat;
			addChild(fps);
			//添加逐帧监听器并执行checkFPS函数
			addEventListener(Event.ENTER_FRAME, checkFPS);
		}

		//这个函数将计算频帧:
		private function checkFPS(e:Event):void
		{
			//当函数执行的时候以秒为单位获取时间
			var currentTime:Number = (getTimer()-startTime)/1000;
			//计数器加1
			framesNumber++;
			//判断当前时间是否比1大
			if (currentTime > 1)
			{
				trace(currentTime)
				//计算频帧并在文本域展示【乘以10再除以10是为了精确到小数点后一位】
				fps.text = "FPS:" + (Math.floor((framesNumber/currentTime)*10)/10)+" MEMORY:"+uint(System.totalMemory/1024/1024)+"M";
				//重设开始的时间
				startTime = getTimer();
				//重设帧数
				framesNumber = 0;
			}
		}
	}
}
原文地址:https://www.cnblogs.com/602147629/p/2041821.html