Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Kropt32 en 5 Octubre 2010, 12:38 pm



Título: SDL y la CPU
Publicado por: Kropt32 en 5 Octubre 2010, 12:38 pm
Me imagino que muchos conocerán SDL. Esa librería para hacer juegos (www.libsdl.org/).

Pues bien, llevo usándola un tiempo y he conseguido hacer algunas cosillas con ella, pero siempre tengo el mismo problema e internet no ha conseguido subsanarlo. El problema es el consumo de la CPU, como bien dice el título.

Dependiendo de la aplicación que esté haciendo, puede llegar a consumir entre 5% y 40% (aunque suele rondar el 30%) de los recursos de la CPU. Según he leído en múltiples foros y blogs, el problema reside en el tiempo de espera que hay que darle entre loop y loop. Hay algunos métodos estándar para hacer una pausa ligera y a la vez reducir considerablemente el consumo, pero por alguna extraña razón, en mis aplicaciones no funcionan esos métodos, o la pausa entre loop y loop es gigante, y por consiguiente el consumo es ínfimo o la pausa es pequeña y por tanto, el consumo es enorme...

Sin embargo, he visto aplicaciones desarrolladas con SDL donde no consumen nada, y las pausas esas anteriormente citadas ni se notan. Por tanto...

¿Qué estoy haciendo mal?

Muchas gracias. Espero haberme explicado bien.
 


Título: Re: SDL y la CPU
Publicado por: Eternal Idol en 6 Octubre 2010, 20:23 pm
¿Probaste con un valor chico tipo 100 milisegundos?


Título: Re: SDL y la CPU
Publicado por: Kropt32 en 6 Octubre 2010, 20:54 pm
Los tengo normalmente a 30 milisegundos. Esa pausa es minúscula, pero como he dicho antes, carga mucho la CPU. Si lo pongo a 100 milisegundos la pausa en mi opinión es demasiado grande. Con 100 milisegundos de pausa en cada loop la aplicación se ve muy fea...