Why did Vista drop hardware accelerated sound?

ShawnD1

Lifer
May 24, 2003
15,987
2
81
I'm reading this article: http://pc.ign.com/articles/759/759538p1.html

First it says this:
Coupled with DirectSound and DirectSound3D, applications and games could send commands straight to the hardware, opening up a whole world of enhanced features, such as 3D positional audio and Creative's EAX.

However the new Windows audio stack's new strengths belied a critical weakness: much of the audio stack was run in kernel mode, right in the guts of Windows. This meant that if - heaven forbid - something went wrong and the audio stack crashed, there was a good chance it would drag the rest of Windows down with it.

Alright so DirectSound crashes windows because it directly accesses hardware, and that's why it was dropped. Keep reading on the next page.

But Creative Labs and its brethren aren't licked yet. This is because DirectSound isn't the only audio API in the game...
OpenAL functions in a similar way to DirectSound in that it's a bundle of software commands developers can use to speak to OpenAL compatible sound card drivers to make stuff happen. Because it can talk directly to the hardware, OpenAL can use hardware acceleration and reference extended features on a sound card like 3D positional audio and even EAX.


Historically, Windows has been very unstable when programs are directly accessing the hardware. This is why part of the DirectX 10 standard is that all video is virtualized; no more direct hardware access. This is why a bad video or sound driver using DirectX 9 or lower (video or sound) or OpenGL can taken down the entire computer. To fix this, we dropped DirectSound because it directly accesses hardware, and we replace it with OpenAL... which also directly accesses hardware. wtf? :confused:

 

NoStateofMind

Diamond Member
Oct 14, 2005
9,711
6
76
From what I read Microsoft didn't replace DirectSound with OpenAL, Creative did. Since Creative knew its sound cards would suffer from not being allowed access at the hardware level (only software), they bought part of the Company "Loki" which developed OpenGL that ported games from Windows to Linux. So yeah, Microsoft changed everything to software level and Creative found a way to go in through the "backdoor" to the hardware using "OpenAL" drivers named ALchemy. Thats what I got from it anyways.

Edit: This gives Microsoft the ability to say "It's not our problem, go to Creative for your fix".
 

ShawnD1

Lifer
May 24, 2003
15,987
2
81
It might be just the video memory that is virtualized. Google search "directx10 virtualize video" and every link talks about video memory.

Thanks for the explaination, PC Surgeon.
 

BD2003

Lifer
Oct 9, 1999
16,815
1
81
Originally posted by: PC Surgeon
From what I read Microsoft didn't replace DirectSound with OpenAL, Creative did. Since Creative knew its sound cards would suffer from not being allowed access at the hardware level (only software), they bought part of the Company "Loki" which developed OpenGL that ported games from Windows to Linux. So yeah, Microsoft changed everything to software level and Creative found a way to go in through the "backdoor" to the hardware using "OpenAL" drivers named ALchemy. Thats what I got from it anyways.

Edit: This gives Microsoft the ability to say "It's not our problem, go to Creative for your fix".

Exactly. But OpenAL is poorly supported, and hardware 3d sound is obsolete and irrelevant anyway. The sooner it goes away completely, the better. Todays CPUs can more than handle EAX5 level effects on their own.
 

ViRGE

Elite Member, Moderator Emeritus
Oct 9, 1999
31,516
167
106
Originally posted by: BD2003
Exactly. But OpenAL is poorly supported, and hardware 3d sound is obsolete and irrelevant anyway. The sooner it goes away completely, the better. Todays high-end CPUs can more than handle EAX5 level effects on their own.
Fixed. High-end CPUs can, but not low end. Keep in mind that any software sound engine needs to be able to run on a very small fraction of the processing power offered by something like a Celeron E1xxx processor, due to the fact that current software sound engines don't scale well with processing power. The result is that they're all woefully underfeatured, especially when it comes to HRTFs.:(

As for the subject at hand, hardware audio support was dropped for the reason stated: to get it out of the kernel and in to userspace. It shouldn't come as any surprise that this is similar to how the 360 handles audio
 

BD2003

Lifer
Oct 9, 1999
16,815
1
81
Originally posted by: ViRGE
Originally posted by: BD2003
Exactly. But OpenAL is poorly supported, and hardware 3d sound is obsolete and irrelevant anyway. The sooner it goes away completely, the better. Todays high-end CPUs can more than handle EAX5 level effects on their own.
Fixed. High-end CPUs can, but not low end. Keep in mind that any software sound engine needs to be able to run on a very small fraction of the processing power offered by something like a Celeron E1xxx processor, due to the fact that current software sound engines don't scale well with processing power. The result is that they're all woefully underfeatured, especially when it comes to HRTFs.:(

As for the subject at hand, hardware audio support was dropped for the reason stated: to get it out of the kernel and in to userspace. It shouldn't come as any surprise that this is similar to how the 360 handles audio

Well, HRTFs arent nearly as important when 5.1 is pretty much standard nowadays. Exactly as you say, this is what the xbox is doing - GTA4 has better reverb and environmental sound than any EAX accelerated game. And all things considered, the 360 CPU is pretty low end compared to most current desktop chips. Even that low end celeron E1200, based on the Core 2 architecture, could probably blow the 360 CPU out of the water. Certainly there is a section of even lower end PCs that don't have as much horsepower to spare, but thats less and less of a problem each passing day.
 

ViRGE

Elite Member, Moderator Emeritus
Oct 9, 1999
31,516
167
106
Originally posted by: BD2003
Originally posted by: ViRGE
Originally posted by: BD2003
Exactly. But OpenAL is poorly supported, and hardware 3d sound is obsolete and irrelevant anyway. The sooner it goes away completely, the better. Todays high-end CPUs can more than handle EAX5 level effects on their own.
Fixed. High-end CPUs can, but not low end. Keep in mind that any software sound engine needs to be able to run on a very small fraction of the processing power offered by something like a Celeron E1xxx processor, due to the fact that current software sound engines don't scale well with processing power. The result is that they're all woefully underfeatured, especially when it comes to HRTFs.:(

As for the subject at hand, hardware audio support was dropped for the reason stated: to get it out of the kernel and in to userspace. It shouldn't come as any surprise that this is similar to how the 360 handles audio

Well, HRTFs arent nearly as important when 5.1 is pretty much standard nowadays. Exactly as you say, this is what the xbox is doing - GTA4 has better reverb and environmental sound than any EAX accelerated game. And all things considered, the 360 CPU is pretty low end compared to most current desktop chips. Even that low end celeron E1200, based on the Core 2 architecture, could probably blow the 360 CPU out of the water. Certainly there is a section of even lower end PCs that don't have as much horsepower to spare, but thats less and less of a problem each passing day.
I'm a headphones user myself, so HRTFs are a big deal here. It's the difference between stereo audio and full 3D audio (and better than 5.1, IMHO).