SoloCodigo

Programación Específica => Programación de Videojuegos => Mensaje iniciado por: ibito en Lunes 23 de Febrero de 2004, 07:03

Título: Contar Frames Por Segundo
Publicado por: ibito en Lunes 23 de Febrero de 2004, 07:03
yo se que allegro tiene unas funciones de TIMERs y cosas asi, pero como puedo contar sin ayuda de una libreria, los frames por segundo? como puedo saber cuanto tiempo (segundos) han pasado de un ciclo a otro?  :blink:
Título: Re: Contar Frames Por Segundo
Publicado por: Ruben3d en Lunes 23 de Febrero de 2004, 21:36
Hola.

Para hacer lo que dices hice este código hace ya algún tiempecillo.

Código: Text
  1.  
  2. void CalcularTiempo(void)
  3. {
  4.     static float tiempoAnterior = Timer.GetTime();
  5.     float tiempoActual = Timer.GetTime();
  6.  
  7.     CfgSistema.time = (tiempoActual - tiempoAnterior) * 0.001f; // Lo paso a segundos
  8.  
  9.     tiempoAnterior = tiempoActual;
  10. }
  11.  
  12.  

Puedes sustituir Timer.GetTime() por alguna función de Windows, como timeGetTime(). El tiempo de cada fotograma (en segundos) queda almacenado en este ejemplo en la variable global CfgSistema.time.

Has de llamar a esta función una vez en cada fotograma, siempre en el mismo punto.

Para saber las FPS has de calcular la inversa de CfgSistema.time.

Espero que te sirva.

Un saludo.

Ruben3d