[SDL] SDL_mixer and dual-core / multi-processor machines under XP
René Dudfield
renesd at gmail.com
Tue May 20 19:06:34 PDT 2008
hey,
Definitely mark a bug in the bug tracker :)
Sounds like you have made a good start.
Have you tried using the other windows audio driver?
cu,
On Wed, May 21, 2008 at 5:56 AM, James Haley <haleyjd at hotmail.com> wrote:
> Hi,
>
> I wrote the list several months back about some mysterious crashes that were
> occurring in my Doom port, "The Eternity Engine", as well as in several
> other such ports (PrBoom, PrBoom+, WinMBF, Chocolate Doom). Working
> together, we discovered that the common variables between all users
> experiencing the crash were that all of them have dual-core CPUs or
> multiple-processor machines and are running under Windows XP.
>
> It seems that a lock being held on the audio buffer is either valid only for
> a certain thread, or is being released in a way that is dependent upon the
> timing of the calls in question. Either way, when running on a different
> core, SDL_mixer will intermittently pass to the postmix callback a buffer
> which becomes invalid partway during the run of the callback function. Where
> and when this happens are highly inconsistent, demonstrating beyond any
> doubt that this is some type of race condition. When it happens, Windows
> throws a very hard-to-trace/debug access error.
>
> In the Doom community we have had to work around this issue by using the
> Win32 API function SetProcessorAffinity. This is not ideal, of course, as it
> precludes our dual core users from getting any benefit even if the program
> in question is otherwise capable of making use of multiple hardware threads.
>
> I haven't seen this issue raised here on the mailing list, and I can't find
> anything that looks definitively like it on the SDL bug tracker. So I'm
> bringing it up again myself to see if anything has been done about it yet,
> or will be done about it, before we make a decision on whether or not to
> keep using SDL_mixer.
>
> James Haley
> Lead Programmer, Team Eternity
> http://doomworld.com/eternity/
>
[snip spam]
> _______________________________________________
> SDL mailing list
> SDL at lists.libsdl.org
> http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org
>
>
More information about the SDL
mailing list