Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





sincronizando con ogl

Iniciado por Vandalism, 06 de Mayo de 2008, 03:31:35 AM

« anterior - próximo »

Vandalism

que funcion podria usar para lograr sincronizmo con ogl? alguna sugerencia?

tamat

por sincronizmo no me viene nada. Puedes ser más especifico?
Por un stratos menos tenso

Vandalism

lo que quiero es que mi juego se ejecute a la misma velocidad en diferentes CPU's. Alguna idea?


Elvis Enmanuel


tamat

en SDL lo suelo arreglar con:
//update logic
double elapsed_time = (SDL_GetTicks() - last_time) * 0.001; //0.001 converts from milliseconds to seconds
last_time = SDL_GetTicks();
update(elapsed_time );


De esta manera la función update recibe por parametro cuantos segundos han transcurrido lo que sirve para actualizar la escena del mismo modo sin importar la velocidad de la CPU del PC.

Pero seguro que encontraras información más util en el enlace de pogacha.
Por un stratos menos tenso

Prompt

Lo suyo es, procesar siempre el motor al mismo dt, y si sobra tiempo dormir el hilo n milisegundos.


AK47

Dormir el hilo? No se yo... el sleep ese no es muy de fiar que digamos. Aparte que suena un poco a herejia, no?  :lol:

Prompt

Pues no, necesitas no saturar el micro para que los otros procesos acaben a tiempo.

Tienes el hilo de render y procesado por un lado, acabas y duermes hasta que cumplas el tiempo del frame para que se procesen a 25-60 fps.

Mientras se ha procesado y enviado a la tarjeta los datos si tenemos, yo que se... 100ms libres, y tienes otro hilo que aun está procesando la fisica ( trayectorias, colisiones... ) al dormir el hilo del procesado y renderizado, dejas "todo" el micro libre para que el hilo de fisica termine los calculos.

Y así podriamos complicarlo aún más...

Si solo quieres 60 fps, para que quieres procesar y renderizar 300 ? para nada... entonces desaprobechas el micro y lo saturas cuando podrias estar calculando otras cosas.

AK47

Me ha descubierto mi mentalidad monohilo! Dicho asi si, tiene logica para que otros hilos del programa pueden chupar de la CPU :)







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.