Ver la versión completa : Doble buffer
Tengo un problema gordo con las SDL. Estoy escribiendo un programa, y en general va bien, pero el SDL_Flip() se come el 40% del procesador. Supongo que usando el doble buffer se solucionaría, pero si lo hago, el programa se cuelga :mad:
He probado con todas las versiones de la SDL que he encontrado, y nada.
¿Con qué versiones has probado? ¿Has probado el doble buffer con las SDL aceleradas de Paeryn? Es que a mí sí me funciona. Si has probado con esas y no lo consigues, te escribo cómo lo hago.
Pues sí, he probado con las de paeryn, y nada. Aunque puede ser que las tenga mal instaladas, porque eso de que no traigan script de instalación...
Es que creo que si usas doble buffer en las SDL no aceleradas se te queda en pantalla negra.
Puck2099
19/02/2006, 01:02
Es que creo que si usas doble buffer en las SDL no aceleradas se te queda en pantalla negra.
Efectivamente, el flag de doble buffer solo funciona con las SDL aceleradas y definiendo la superficie como HWSURFACE, si lo haces como SWSURFACE creo que tampoco funciona.
Saludos
Puck, probé eso mismo que has dicho, y nada, no iba. Ni con superficies SW ni con HW. ¿Vosotros como lo haceis, enlazais la SDL de manera estática o la habeis instalado en la consola de alguna manera?
Enlazamos (en plural porque creo que puedo hablar por Puck) estáticamente.
¿Por qué no intentas depurar? ¿A ver qué mensaje de error te da? La manera cutre es utilizar STerm, ejecutar la aplicación desde ahí, y cuando se te queda colgada, mover el stick arriba o abajo para que te vuelva a aparecer STerm. Deberías poder ver el error. Cutre, cutre, eso sí...
¿Y cómo lo habeis hecho para enlazarla estáticamente? Yo no soy capaz, me da fallos de símbolos sin definir, o me dice que la biblioteca usa coma flotante por software y el programa por hardware (aunque no haya un solo float), y cosas así. Un makefile de ejemplo estaría muy bien ;)
De todas maneras, voy a probar el STerm ese que decís.
Puck2099
19/02/2006, 17:37
¿Y cómo lo habeis hecho para enlazarla estáticamente? Yo no soy capaz, me da fallos de símbolos sin definir, o me dice que la biblioteca usa coma flotante por software y el programa por hardware (aunque no haya un solo float), y cosas así. Un makefile de ejemplo estaría muy bien ;)
De todas maneras, voy a probar el STerm ese que decís.
Para enlazar estáticamente no tienes más que pasarle el flag -static
Tu problema me suena a que no tienes una toolchain o librerías compatibles, pues esos eran los problemas que nos daban al principio de todo...
Bájate del FTP público la toolchain de Uncanny (la que ocupa unos 70 MB) que lo tiene todo (programas y librerías).
Saludos
Perdona, tengo una pequeña duda de noob. Si el SDL_Flip se come el 40% del procesador, ¿como es que poniendo doble buffer se soluciona?
Yo tenia entendido que doble buffer era para evitar que el usuario vea como se dibuja la screen, y que esto ocurria con ciertas targetas graficas.
La toolchain me la compilé yo mismo, y después de lo que me costó, no tengo ganas de bajarme otra :P
Volveré a compilar la SDL, a ver si así va bien...
Nada, después de mucho probar, no consigo que funcione. Cuando no me dice que hay problemas porque la biblioteca utiliza coma flotante por software y el programa por hardware, me dice que hay símbolos no definidos...
Y encima me he cargado el entorno de desarrollo.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.