Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





problema con los msg de windows , render? whatt?????? O_O

Iniciado por SKoN, 24 de Febrero de 2003, 03:09:59 AM

« anterior - próximo »

SKoN

                                Encontré un ejemplo de como implementar ogg (formato de musica) , bueno no se si esta en buen lugar el post porque , el problema es algo raro, he puesto la carga de una cancion y cuando mira los mensajes de windows para hacer stream si estoy moviendo el raton pues se corta o salta y no lo entiendo :/ quitando la linea de render(); va bien, no se que puede estar mal , aver si alguien me hecha un cablecito :D

aqui esta el link del proyecto basado en el tutorial Matrices de las SDK Directx



http://perso.wanadoo.es/skon/Tut03_Matrices.zip                                
KoN

Juan Mellado

                                Hola SKoN.

Me he bajado los fuentes y he estado trasteando un poco. Examinando el bucle principal me ha dado la impresión que el sonido se para porque la función Render tarda demasiado en retornar y, en consecuencia, los eventos (del ogg, no los mensajes de Windows) no se procesan con la suficiente rapidez como para mantener lleno el buffer de sonido y que no se produzcan cortes o repeticiones en la melodía.

Al principio pensé en controlar que no se llamase a Render por todos y cada uno de los mensajes de Windows, o crear un thread y meter la "recepción" de eventos (del ogg) en él. Esta última me sigue pareciendo la mejor solución. Pero era demasiado curro. :D

Al final lo he "apañado" poniendo en la función InitD3D la siguiente línea:


d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;


Esto hace que DirectX no espere al retrazo vertical, por lo que el método Render termina inmediatamente y no se producen cortes.

Espero te sirva.
Saludos                                

SKoN

                                va mejor pero creo que lo de los thread es la opcion mejor, bueno pues tonces veo que no era un problema tan grave, gracias por la ayuda y ya me lo mirare con calma , por cierto me ha llegado a un email de la lista del nebula con un codigo para implementar OGG en el motor, si alguien le interesa se lo paso con mucho gusto.

otra vez gracias por la ayuda :)                                
KoN






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.