Sound in Games
It’s no secret that after Windows Vista put an end to hardware DirectSound3D acceleration more and more new games do no rely on the sound card’s capabilities but process audio with their own means. For example, Left 4 Dead and other games running on the updated Valve Source Orange Box engine output mixed audio depending on the specified speaker configuration (headphones, 2.0, 4.0, 5.1 or 7.1). This audio doesn't differ from what you get when playing a DVD, for example. As a result, such games have the same sound irrespective of whether you use an integrated sound core or an expensive SoundBlaster, except for the difference in the quality of the analog sections which is discernable in music. On the other hand, most games with Unreal Engine 3 employ OpenAL and rely on software emulation only if the sound card doesn't support OpenAL. In this case, like when the audio is processed by the game itself, the highest quality of sound, special effects and spatial positioning is achieved when the sound card's audio processing features are disabled.
Every card included into this test session supports OpenAL in Windows 7 to some extent. The Auzen Prelude is the only card to process OpenAL on the hardware whereas the others do that on the level of the OS driver. There is a special Host OpenAL driver for the Auzen Bravura and Creative Xtreme Audio whereas the ASUS Xonar relies on the Generic Hardware path of the OpenAL driver.
The OpenAL core, which has been developed under Creative’s aegis since 1999, offers three types of playback devices to applications. The Native type directly accesses the card’s hardware and provides the highest quality of effects because it applies them in 3D space and only then mixes the sounds up for the required number of output audio channels. The Generic Hardware type translates OpenAL calls into the DirectSound3D space model to enable the capabilities of any sound cards that offer hardware DirectSound3D acceleration. Unfortunately, the translator limits the number of available voices (sound sources) and the quality of effects is inferior to the Native type. Besides, the hardware DirectSound3D was cut out of the Windows audio subsystem, making Creative and C-Media develop Alchemy and Xear3D EX, respectively (ASUS renamed the latter into Gaming eXtensions or GX). The third OpenAL device type is a simple audio engine which offers some basic sound processing. Its audio is meant for stereo speakers and doesn’t sound natural in headphones. The distance to a sound source is only indicated by volume rather than timbre.
The CA0110 audio controller doesn’t have an integrated audio processor but the programmers wrote a native OpenAL driver for it which is free from the limitations of a Generic Hardware device. This driver is compatible with Windows Vista and 7 and works with only select sound cards because Creative is not so willing to grant its technologies for free. C-Media’s programmers began to write a similar driver back in 2007 but haven’t yet produced a functioning result. ASUS sound cards are still dependent on the Generic Hardware driver which limits their functionality and works only when the GX feature is turned on. While I had no problems with the version 8.17.77 driver for Windows 7, users at different forums report all manner of abnormalities the active GX feature can provoke. It must also be noted that turning GX off under Windows Vista or 7 deprives the sound card of all 3D sound processing in games except for the algorithms of converting the number of sound channels.
A sound card’s functionality can be useful even in a game that processes audio itself if you specify in the Windows control panel that your playback device has 8 audio channels and choose the real configuration of your speaker system in the sound card settings. In this case the game can output its sound with the highest quality possible whereas the sound card will be transforming it into the necessary format by utilizing its own exclusive technologies. This is especially important for headphones because the audio engines of most games do not do any headphone-optimized virtualization or do it poorly. The same goes for the sound effects library in Windows 7: every sound card I tested could prepare audio for headphones with much higher quality.
In the early versions of the Bravura driver for Windows Vista/7 the CMSS-3D technology could be enabled separately for Speakers and Headphones but the standard control options for the sound card would confuse these two outputs. The Enable X-Fi CMSS-3D checkbox in the Audio Control Panel and the Audio Console did not represent the actual status of that technology. The only reliable way to control it was to right-click the Volume Panel in the system tray but you had to install that application yourself.
To get the correct 3D sound with the early driver versions you had to choose the appropriate speaker configuration in the Audio Control Panel.
The version 1.40 driver lacks this setting and you can choose the speaker configuration when installing the driver. Perhaps this setting doesn’t affect anything now.
The separation of the Bravura into two devices in Windows Vista/7 has its pitfalls. For example, a game that has its own audio engine will not output multichannel audio to the Headphones device because you cannot change the number of channels for it. Besides, CMSS-3D will not work if you disable the Sound Blaster extensions for the audio device in the Windows control panel.
I tested the sounds cards’ gaming capabilities in a couple of games that have good ambient audio. The Auzen Prelude was switched into gaming mode with default settings. For the rest of the sound cards I enabled the sound processing features for headphones: CMSS-3D with the Auzen Bravura, Dolby Digital and GX with the ASUS Xonar D2. When you enable DH, the Xonar driver allows using 7.1 Virtual Speaker Shifter which affects game audio, so I additionally tested the Xonar with VSS enabled. By the way, there is a bug in the driver that leads to an incorrect distribution of audio among the virtual channels. It is cured by rolling VSS settings back to their defaults.