Hi Davy,

I just wanted to clarify briefly what issues I had when integrating XAudio2
with BGT. Initially, everything seemed to work flawlessly. But what I
noticed when trying it in a large scale project with a lot of sounds playing
simultaneously was that XAudio2 would sometimes cause lag before playing a
new sound. This was not a sound that had just been opened; it was a sound
that had been cloned from another previously existing instance. Therefore I
was able to exclude disk IO as the cause. At first I figured that it was
probably just my machine being sluggish, but it kept happening regularly. I
then wanted to make sure that it wasn't the fact that XAudio2 is virtualized
on Windows XP, so I tested it on several Windows 7 and Vista machines with
the same results. I then did a side by side comparison of DirectSound and
XAudio2, and DirectSound did not suffer from this problem on any of the
machines used for the test. This was done in late 2010, but I have not seen
any significant new releases of XAudio2 since then so I would presume that
the problem still exists. Important to note is that the lag usually does not
happen if you have just a few sounds playing at once. You need to reach
quantities of about 10 or 15 before it starts to become noticeable.

Kind regards,

Philip Bennefall
----- Original Message ----- From: "Davy Kager" <m...@davykager.nl>
To: "'Gamers Discussion list'" <gamers@audyssey.org>
Sent: Saturday, December 14, 2013 1:58 PM
Subject: Re: [Audyssey] BGT, Mac and More


Hi Thomas,

I have had no trouble with XAudio2. That coupled with very low-level input handling using the Win32 API made for some awesome times. Still, the disadvantage to such low-level work (I count XAudio2 as relatively low-level too), is that it takes more work to get things done - including more evaluation of your code to make sure it won't crash at run-time. And the difference inr esponsiveness isn't too big anyway. We're talking milliseconds here. The one thing I did like about those components is that it was mostly event-driven. I'm not a big fan of polling for input. Unfortunately, I've read that Microsoft dropped XNA, so I wouldn't be surprised if XAudio2 is going too. That's two abandoned audio systems in five years.

And really, OpenAL isn't so bad. There are devices with hardware support (though I'm disabling that to ensure a uniform user experience). And with the rise of Steam, being able to target Linux is a good thing. Then there is the iOS thing, they use OpenAL too. Joal is a great option for Java developers. For iOS there is the excellent Object-AL. Sadly Joal seems to have some issues acquiring the soundcard at times, but that's probably partly the fault of Windows and its drivers. It's also a bit of a resource hog, it does a lot of memory copying that more low-level APIs avoid. But hey, it does save you some resource managing.

DirectSound was great, and it's cool that it still works on modern systems, but just like with VB6 I'd strongly suggest new developers skip it altogether. As you said the 3D part is very much broken unless you do your own tweaking (and even then), and to be fair the API really isn't that easy to use compared to XAudio2 or OpenAL. The one nice thing is that you can easily script against it, but that's not too important for serious game developers.

Cheers,
Davy

---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.

Reply via email to