Función getDeltaTime().

Todo aquello que no está relacionado con Gemix Studio ni con la programación DIV en general.

Función getDeltaTime().

Postby shao » Sat Dec 17, 2011 10:34 am

Hola, alguien sabe para que sirve la función getDeltaTime() en android?.
Tengo un pequeño código para físicas en el que se usa esta función pero está en android, la función pertenece a tema gráfico y quiero saber en que consiste para intentar recrearla en Gemix y intentar trasladar el codigo, he leído documentación sobre ella, pero no entiendo del todo.

ok ya veo:
Returns the time difference between the current frame and the previous frame as an integer.

Al parecer retorna en entera larga el tiempo que transcurre entre el actual frame y el siguiente o algo así, para que podría servir esto?.
En Gemix este tiempo siempre es el mismo?, o depende de la máquina?.
User avatar
shao
 
Posts: 6036
Joined: Wed Jun 17, 2009 4:51 pm

Re: Función getDeltaTime().

Postby erkosone » Sat Dec 17, 2011 12:25 pm

Eso tiene toda la pinta de un intento basura de hacer un sincronismo de frames..
Esto en Gemix con SET_FPS() no hace falta para nada, se sincroniza solo :)
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Función getDeltaTime().

Postby GINO » Sat Dec 17, 2011 2:45 pm

Erkos, eso se hace siempre, hasta en gemix internamente. Cuando acabas de hacer todo el trabajo del frame actual miras cuanto tiempo ha pasado desde que acabo el frame anterior. Si ese tiempo "delta" (en milisegundos) es menor de lo que debería durar un frame, hay que hacer una pausa de la diferencia. Si es mayor, es que el juego va lento, etc.
Code: Select all
frame_duration = 1000 / frames_per_second; //duración de un frame en milisegundos
delta_time = current_time - last_frame_end; // tiempo que ha durado ejecutar/pintar/etc. este frame
if (delta_time < frame_duration)
{
    sleep(frame_duration - delta_time);
}
else
{
    //Controlar el frameskip o sino ira lento el juego ya que
    //ejecutar/pintar un frame lleva más tiempo del que debería
}

Ese es la estructura más básica de un frame loop o game loop, hay muchas variantes, pero sirve de idea.
User avatar
GINO
 
Posts: 2823
Joined: Thu Jul 31, 2008 10:25 pm

Re: Función getDeltaTime().

Postby erkosone » Sat Dec 17, 2011 5:15 pm

Y quien ha dicho que gemix no lo haga?
Le he dicho a shao que set_fps() se encarga de establecer los tiempos, nada mas.
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.


Return to Offtopic

Who is online

Users browsing this forum: No registered users and 0 guests

cron