Escrito originalmente por AmanoType
wan kuestion:
Es necesario q un juego vaya a un multiplo de 30 fps? Si no es asi se veria mal? (se me haria raro q me dijeses que si ya q el cine..la tele...la animacion..cada uno va al fps q le da la gana y no se hace raro)
Lo pregunto pq si dices que lo podian haber hecho a 60 pero q a veces bajaba a 45...pq no hacerlo directamente a 45? Ya es mas curiosidad que otra cosa....
La base de todo esto es el sistema de television PAL que va a 50 Hz (50 cuadros por segundo) y el NTSC a 60 Hz. Es decir un cuadro cada 20 ms o cada 16.67 ms respectivamente. Vamos a centrarnos en el PAL a efectos ilustrativos (50 Hz, 20 ms por frame)
Si el motor de un juego es capaz de generar una nueva imagen en ese tiempo (20 ms), el juego "ira" a 50 fps. Si no es capaz, pues ya depende de como este hecho el juego. Por ejemplo supongamos que tienes un motor como este (nota, esto esta ultra-simplificado!)
1. calcular fisica, IA, etc.
2. generar imagen
3. esperar a siguiente cuadro para representar en TV
4. volver a 1/
Si los pasos 1+2 siempre tardan menos de 20 ms, entonces el juego ira a 50 fps solidos.
Si los pasos 1+2 siempre tardan algo mas de 20 ms, entonces las imagenes no llegan a tiempo al correspondiente cuadro de TV y tienen que esperar un cuadro mas, con lo que cada imagen tarda 40 ms en salir, en lugar de 20 ms. El juego iria entonces a 25 fps.
Si los pasos 1+2 tardan a veces mas de 20 ms y a veces menos, pues depende de en que proporcion ocurra esto tendras un valor intermedio entre 25 y 50 fps.
Ejemplo; imagina que durante un segundo de juego tienes:
- 30 imagenes que llegan "a tiempo" para el siguiente cuadro de TV (cada 20 ms),
- y otras 10 imagenes mas complejas que no llegan a generarse "a tiempo" y por tanto tienen que salir un cuadro mas tarde (con lo cual el tiempo de actualizacion efectiva es de 40 ms)
Eso son 40 frames en un tiempo total de un segundo (30 * 20ms + 10 * 40ms) == 40 fps. Como ves esto se produce porque la velocidad de actualizacion "fluctua" entre 50 y 25 fps.
Con otro tipo de motores, el resultado puede ser diferente, pero creo que la idea queda mas o menos clara.
No se si se me entiende
bill