Clase en Actionscript 3.0 para saber los FPS de una película

Clase en Actionscript 3.0 para saber los FPS de una película

Etiquetas: Date getTime System totalMemory

Esta fue mi primera clase en Actionscript 3.0. Sirve para saber a cuantos fotogramas por segundo(fps) se está ejecutando una película y la memoria consumida por el player. Aunque configuremos la velocidad de refresco a 25fps, puede que no se alcance esa velocidad si el ordenador donde se ejecuta la aplicación no es muy potente o la película tiene una programación muy compleja (por ejemplo utiliza algún motor de 3d o de físicas) o assets muy grandes. La clase es esta:
  1.  
  2. package com.esedeerre.utilidades {
  3.  
  4. 	import flash.display.MovieClip;
  5. 	import flash.text.TextField;
  6. 	import flash.events.*;
  7. 	import flash.system.System
  8.  
  9. 	public class Rendimiento extends MovieClip {
  10.  
  11. 		private var fecha:Date = new Date();
  12. 		private var TimeAhora:Number;
  13. 		private var TimeAntes:Number;
  14. 		private var campo:TextField = new TextField();
  15.  
  16. 		public function Rendimiento(X:Number = 10, Y:Number = 10, COLOR:uint = 0x000000,_back:uint = 0xffffff):void {
  17. 			mouseChildren = false;
  18. 			mouseEnabled = false;
  19. 			fecha = new Date();
  20. 			TimeAhora = fecha.getTime();
  21. 			TimeAntes = fecha.getTime();
  22. 			campo.x = X;
  23. 			campo.y = Y;
  24. 			campo.selectable = false;
  25. 			campo.multiline = true;
  26. 			campo.textColor = COLOR
  27. 			addChild(campo);
  28. 			graphics.beginFill(_back, .5);
  29. 			graphics.drawRect(10, 10, 130, 40);
  30. 			campo.addEventListener(Event.ENTER_FRAME, actualizar);
  31. 		}
  32.  
  33. 		private function actualizar(event:Event):void{
  34. 			fecha = new Date();
  35. 			TimeAhora = fecha.getTime();
  36. 			var memoria:String = "Memoria: " + Number( System.totalMemory / 1024 / 1024 ).toFixed(2) + 'MB';
  37. 			var fps:String = "FPS: " + Math.floor(1000 / (TimeAhora - TimeAntes));
  38. 			TimeAntes = TimeAhora;
  39. 			event.target.text = memoria + "\n" + fps;
  40. 		}
  41.  
  42. 	}
  43.  
  44. }
  45.  
Un ejemplo de utilización, sería:
  1.  
  2. addChild(new Rendimiento());
  3.  
Comentarios
    • Autor
    • anllie
    ¡EXCELENTE! Y más sabiendo que fue tu primera clase!
Dejar un comentario
Tu nombre (obligatorio):

E-mail (obligatorio, no se mostrará):

Web:

Comentario: