SDL me consume mucho procesador

Tratamos sobre el manejo de APIs frecuentemente utilizadas en el desarrollo de videojuegos, como SDL, pygame o SFML.

SDL me consume mucho procesador

Notapor drinor » Mié Sep 16, 2009 9:02 am

Hola buenas,

Estoy programando un pequeño juego con una resolucion de (1024 x 768) y en cuanto pongo en el loop game un SDL_BlitSurface() con la imagen de fondo, para que la valla actualizando continuamente, se me dispara el uso del procesador cerca del 50%.

Ya le puse el control del tiempo pero como si nada.

ResetTimeBase();

frametime = CurrentTime();
if (frametime<30)
SDL_Delay(30-frametime);

Me gustaria saber si eso es normal o tiene alguna solución.

Muchas gracias.
No molestar, programando ... XD
drinor
 
Mensajes: 11
Registrado: Mar Sep 15, 2009 10:50 pm

Notapor endaramiz » Jue Sep 17, 2009 11:08 am

Comprueba el tiempo del SDL_Delay.
En C++:
Código: Seleccionar todo
std::cerr << 30-frametime << std::endl;
if (frametime<30)
    SDL_Delay(30-frametime);


Igualmente, un videojuego que estoy haciendo, creo recordar que también consume bastante procesador aunque no estoy en mi PC para combrobarlo.
Es SDL así que dibujar una imagen de 1024x768 a cada frame, le va a costar tiempo...

Saludos.
Avatar de Usuario
endaramiz
 
Mensajes: 283
Registrado: Vie Ago 31, 2007 9:25 am
Ubicación: Barcelona

Notapor drinor » Mar Sep 22, 2009 8:16 pm

Tarda 48 milisegundos en completar el bucle principal así que no entra en el if (frametime<30)

Se le va casi todo el tiempo cuando hace el SDL_Flip(screen) así que supongo que consumirá eso y no tiene solución.

Muchas gracias.
No molestar, programando ... XD
drinor
 
Mensajes: 11
Registrado: Mar Sep 15, 2009 10:50 pm

Notapor Juanxo » Mié Sep 23, 2009 2:55 pm

No he probado nunca a dibujar imagenes tan grandes, pero puedes probar a dibujar las partes que hayan cambiado desde el último frame. Almacena las areas de las imágenes de los objetos que se hayan movido en un vector o algo así y dibuja solo aquellas pequeñas partes en las que había objetos antes, para no tener que dibujar tanto.

Si dieses más detalles de tu programa a lo mejor podríamos encontrar una solución.

Un saludo a todos.
Avatar de Usuario
Juanxo
 
Mensajes: 437
Registrado: Sab Ene 31, 2009 2:34 am
Ubicación: Madrid(España)


Volver a Sobre las bibliotecas multimedia

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron