Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





FPS (Pregunta)

Iniciado por avalontm, 21 de Junio de 2012, 07:17:02 AM

« anterior - próximo »

avalontm

Hola tengo una pregunta y espero que me puedan ayudar

Es posible limitar los Frames de menor o sea cuando limitamos los maximo de frames en mi caso 60

pero quisiera saber si es posible limitar los minimo grames no importa que de brincos entre frames y frames la pregunta de esto es como mi juego es online y digamos que un cliente corre el los frames a 60 (normal) y otro lo corre a 30 frames hay diferencia de jugabilidad

no se si me explique bien xD

pero espero que halguien me ayude (:

[EX3]

No puedes limitar el rango menor de frames por segundo dado que no puedes forzar que el programa vaya más rapido si el equipo no da más de si para ejecutar los procesos. Piensa que los fotogramas por segundo son solo una medida de cuantos bucles puede ejecutar por segundo, principalmente el render gráfico aunque depende también del resto de procesos del programa. Limitar el rango máximo si es posible ya que puedes forzar minúsculas pausas para lograrlo :)

Cita de: avalontm en 21 de Junio de 2012, 07:17:02 AM
pero quisiera saber si es posible limitar los minimo grames no importa que de brincos entre frames y frames la pregunta de esto es como mi juego es online y digamos que un cliente corre el los frames a 60 (normal) y otro lo corre a 30 frames hay diferencia de jugabilidad
Yo lo que hacia para segurar la misma velocidad en equipos antiguos como modernos era limitar a 30fps. 30fps logra todavía fluidez suficiente como para que se vea bien (de hecho el rango aceptable esta entre 30 y 60).

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

avalontm

esto es una muy buena idea no se le paso por la cabesza en lo mas minimo xD

muchas gracias

bnl

#3
Creo que es mas aconsejable no limitarlo y que vaya a cuantos mas fps mejor. Y en cada iteracion del bucle del juego calcular el tiempo transcurrido desde la anterior iteracion y determinar en base a eso el movimiento de los objetos, etc
De esta forma se comportaria igual en todos los equipos.

Mi web: http://www.brausoft.com/
No sabían que era imposible, así que lo hicieron.

[EX3]

Cita de: bnl en 22 de Junio de 2012, 08:09:25 PM
Creo que es mas aconsejable no limitarlo y que vaya a cuantos mas fps mejor. Y en cada iteracion del bucle del juego calcular el tiempo transcurrido desde la anterior iteracion y determinar en base a eso el movimiento de los objetos, etc
De esta forma se comportaria igual en todos los equipos.
Totalmente de acuerdo, el problema esta en que cuando desarrolle dx_lib32 segui la pauta de limitar los FPS por que fue lo que parece que hacian en varios sitios y a mi me parecio un camino facil de atajar. Aun asi, yo complementaria tanto el control de fotogramas maximos con lo de calcular el movimiento en base a los fotogramas ya que limitar los fotogramas evita que haya saltos de fotogramas en cuanto a velocidad, no se si me explico, de hecho veo que se sigue haciendo en juegos actuales o eso me ha parecido.

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

Thorrex

Cita de: bnl en 22 de Junio de 2012, 08:09:25 PM
Creo que es mas aconsejable no limitarlo y que vaya a cuantos mas fps mejor. Y en cada iteracion del bucle del juego calcular el tiempo transcurrido desde la anterior iteracion y determinar en base a eso el movimiento de los objetos, etc
De esta forma se comportaria igual en todos los equipos.
Esto es lo efectivo. Yo en el loop principal coloco antes que nada un Get_Elapsed_Time que calcula cuánto tiempo tardó entre un ciclo y otro. Ese tiempo lo utilizo en todas las fórmulas de movimiento o cambio de estados. Si por alguna razón en algúna pasada tarda un poco más de lo normal, actualiza como si no hubiera pasado nada. A lo sumo se ve un salto, pero aparece en la posición que debería haber estado si todo estaba bien.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.