Frames por segundo.

Iniciado por ignorantev1.1, 10 Mayo 2014, 20:03 PM

0 Miembros y 1 Visitante están viendo este tema.

ignorantev1.1

Buenas, jóvenes.

Busco sacar los FPS de una aplicación, pero se me cerró el mundo, me quedé bloqueado. De hecho creo que hoy es 38 de Febmarvienmbre de 1732... Pero bueno, esto es lo que tengo:

Código (java) [Seleccionar]

for(;;){

lstMillis = System.currentTimeMillis();

//<Física, etc, etc>
//<Gráficos>

globalTimer++;

try{
Thread.sleep(10);
}catch(InterruptedException e){}

tMillis = tMillis + (System.currentTimeMillis() - lstMillis);

fps = (float) globalTimer / ((float) tMillis / 1000);
}


¿Cómo ven?, ¿ando muy errado?, ¿alguna sugerencia?

Saludos.

ivancea96

Así viéndolo por encima, parece que va bien encarado no? Te funciona?

engel lex

el 1 segundo  dividido entre entre el espacio de un cuadro y otro = fps


30 fps = 0.033seg por cuadro -> 1/0.033 ~ 30fps

recomiendo promediar durante 1 segundo y luego mostrar resultado, si no, el numero será erraticamente ilegible :P
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

ignorantev1.1

CitarAsí viéndolo por encima, parece que va bien encarado no? Te funciona?
Pues así como está me da 97.xxx FPS, me parece muy bueno para ser cierto. Y eso que hay un retardo de 10 milis.

CitarInsertar Cita
el 1 segundo  dividido entre entre el espacio de un cuadro y otro = fps


30 fps = 0.033seg por cuadro -> 1/0.033 ~ 30fps

recomiendo promediar durante 1 segundo y luego mostrar resultado, si no, el numero será erraticamente ilegible :P

¿Te refieres a la variación de FPS de un segundo a otro?, si es así, pues no hay variación.

Saludos.

engel lex

tu lo haces por acumulador, yo por muestreo inmediato :p

y si pueden ser 97fps porque posiblemente no tienes vsync activo y tampoco graficos complicados
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.