|
PROCEDURE
- Install the latest Windows 2000 sound card drivers from
Creative Labs.
- Install the Windows 2000 Interrupt
Affinity Filter Tool (IntFiltr) from Microsoft.
- Follow
the IntFiltr instructions to assign the same
single-CPU affinity mask to all Creative Labs devices that use a
hardware interrupt. You can find these by opening the Device
Manager, and selecting Resources by Type from the
View menu. On my system, the Creative SB Live! Value is shown on
IRQ 19. Bringing up the properties for that device revealed the
Creative EMU10K1 Audio Processor device in the Audio Devices
list. That's the one I bound to a single CPU (mask value
0x00000001).
- When running a program (such as a media player or game)
that exhibits signs of an SMP audio driver problem, set the
processor affinity mask of that process to match the mask
you set for the Creative drivers. (Right-click the process
in Task Manager, and choose Set Affinity.)
NOTES
- I have read of a version of IntFilter for Windows NT 4.0,
possibly called IntBind. I don't know whether it is
effective or appropriate on NT4 systems, but it might be
worth trying. At the time of this writing, a link to IntBind
could be found at the bottom of this page
(under the NT Tools heading), and at this page
(under the Management heading).
- I have not verified whether it matters which CPU you choose
to bind drivers to. I suppose it's possible that Windows
favors one CPU over another by default, in which case it
might be advantageous to choose the same CPU that Windows
chooses. This is merely conjecture for now, as I haven't
bothered to investigate further. The /INTAFFINITY
option in the boot.ini file may have some bearing on this matter as
well. In any case, I chose CPU 0 (affinity mask 0x01), just to be sure
that the chosen CPU will still exist if I upgrade to a single CPU
motherboard one day.
- Since I got tired of using Task Manager to set my media
player's affinity mask every time I play an AVI file, I
wrote a program to launch the player with an affinity mask
specified by a command line. I then modified the shortcuts
in my Start menu to use my program to start my media player. The
program is called startaff.exe, and you can download
it here, or download the source code here.
You may use this program so long as you assume liability for any
problems or damage it might cause. As with any software you
download from the net, be sure to scan it for viruses before
using it.
- Another cause of audio skipping on Windows 2000 is the use
of DirectSound playback devices. If a program you use is
playing skipping audio, and it allows you to choose a
WaveOut playback device, give that a try. Unfortunately, the
(Intervideo) Dolby Digital AC3 driver I have used seems to
require DirectSound output in order to play 5.1 audio on my 4 speaker
SoundBlaster Live. If you use WinDVD, you might be stuck with
DirectSound output.
|