SDL y la CPU

Iniciado por Kropt32, 5 Octubre 2010, 12:38 PM

0 Miembros y 1 Visitante están viendo este tema.

Kropt32

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.
En las pistolas, fíjense, a cada disparo el cañon recula, como asustado por lo que acaba de hacer.

Eternal Idol

¿Probaste con un valor chico tipo 100 milisegundos?
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

Kropt32

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...
En las pistolas, fíjense, a cada disparo el cañon recula, como asustado por lo que acaba de hacer.