• Domingo 17 de Noviembre de 2024, 16:37

Autor Tema:  Contar Frames Por Segundo  (Leído 1537 veces)

ibito

  • Miembro HIPER activo
  • ****
  • Mensajes: 549
  • Nacionalidad: mx
  • Se mas de C++ que lo que se de ese CSS
    • Ver Perfil
    • http://www.ibquezada.com
Contar Frames Por Segundo
« en: Lunes 23 de Febrero de 2004, 07:03 »
0
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:
______________________________________
www.hazjuegos.com Una comunidad dedicada al desarrollo de videojuegos.

Ruben3d

  • Miembro HIPER activo
  • ****
  • Mensajes: 710
  • Nacionalidad: es
    • Ver Perfil
    • Web personal
Re: Contar Frames Por Segundo
« Respuesta #1 en: Lunes 23 de Febrero de 2004, 21:36 »
0
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