Título: Algunos problemas de memoria con SFML 2.1 Publicado por: SrCooper en 27 Enero 2014, 00:08 am Buenos días a todos, estoy realizando un proyecto con SFML (en su versión 2.1) y llegados a un determinado punto me vi obligado a usar los sound buffers para la correcta reproducción de sonidos.
Funciona todo perfecto (los sonidos se cargan y suenan sin ningún problema), pero el compilador me tira un segmentation fault al llegar al final de la ejecución del programa. Ni siquiera es apreciable para el usuario que vaya a ejecutarlo, pero no me gustaría que tenga ningún problema de memoria cuando este terminado. Probé a compilar estáticamente y el error ya no ocurre, sin embargo el programa consume mucha más memoria y esto es algo que tampoco quiero. Mi pregunta es básicamente si alguien ha tenido alguna vez estos problemas de memoria al usar los sonidos en SFML y ya de paso me gustaría que me aclararan por qué la versión estática del programa consume más memoria y más cpu que la versión dinámica. Un saludo y muchas gracias de antemano Título: Re: Algunos problemas de memoria con SFML 2.1 Publicado por: engel lex en 27 Enero 2014, 06:08 am posiblemente el error es porque no liberaste la memoria al final o lo hiciste mal, revisa eso (ese error recuerda que por lo general es que accediste a una zona de memoria a la cual no tenias permiso)
lo de la versión estática es básicamente porque el carga todo a RAM y ahí lo corre, en dinámica es porque el solo llama al DLL cuando lo necesita y listo, eso hasta donde tengo entendido Título: Re: Algunos problemas de memoria con SFML 2.1 Publicado por: BlackM4ster en 27 Enero 2014, 08:35 am A mi me pasaba, pero no con los sonidos exclusivamente, sino que había algunos proyectos que fallaban. Aun no sé por que .___.
Título: Re: Algunos problemas de memoria con SFML 2.1 Publicado por: SrCooper en 27 Enero 2014, 15:44 pm posiblemente el error es porque no liberaste la memoria al final o lo hiciste mal, revisa eso (ese error recuerda que por lo general es que accediste a una zona de memoria a la cual no tenias permiso) lo de la versión estática es básicamente porque el carga todo a RAM y ahí lo corre, en dinámica es porque el solo llama al DLL cuando lo necesita y listo, eso hasta donde tengo entendido Estoy seguro de que esa no es la razón, porque estoy cargandolos y manejandolos igual que las texturas y estas no generan ningún problema (además estoy usando punteros inteligentes, por lo que dudo mucho que sea eso) Un saludo y gracias por todo Título: Re: Algunos problemas de memoria con SFML 2.1 Publicado por: SrCooper en 9 Febrero 2014, 17:46 pm Bueno, tras una larga travesía, he solucionado el error.
Lo localicé como un error con el destructor del sistema de audio y de openal32.dll. Así que recompilé SFML por mi cuenta y después descargué el OpenAL soft desde este enlace: http://kcat.strangesoft.net/openal.html#download Lo renombré como openal32.dll, lo puse en la carpeta de mi ejecutable y ¡Voilà! ya no se produce ningún error. De todas maneras he descubierto que este es un bug muy conocido de SFML y que se está trabajando duramente para solucionarlo definitivamente (esta es una solución provisional, por decirlo así). Sinceramente no sé muy bien qué he hecho, o si solo me funciona a mí. Agradecería que alguien me aclarara esto. Un saludo Título: Re: Algunos problemas de memoria con SFML 2.1 Publicado por: BlackM4ster en 10 Febrero 2014, 08:18 am Ya voy a probar y te comento si me funciona. Gracias de todas formas ;-)
|