Pro / Software

Adjusting PCI Latency Settings to Fix Clicking and Popping Problems

Clicking and popping sounds in the audio while the audio is being played back.

A larger ASIO buffer size will usually put less stress on your system, and should prove to be more stable regarding clicking and popping issues.

A common problem when you are working with digital audio is to hear clicking and popping sounds in the audio while the audio is being played back. Sometimes these noises will be continuous, but in other situations the clicking and popping will only occur occasionally if some object is moved on the screen, or a certain device or plug-in is opened. This can occur for number of reasons, and the potential solutions for this problem are equally numerous. This is a separate issue from problems connected with exporting or rendering audio, and this article only deals with these problems as they relate to live playback of the audio. This article is intended to provide some possible solutions, and mainly to talk about a popular tool that is now being used to fix these problems, a PCI latency adjustment tool.

ASIO drivers

Make sure you are using ASIO drivers for your sound card, and that you have tried multiple ASIO buffer sizes. A larger ASIO buffer size will usually put less stress on your system, and should prove to be more stable regarding clicking and popping issues.

In general, if you experience this problem, you should start troubleshooting by looking at your sound card settings and your digital clock settings. Make sure you are using ASIO drivers for your sound card, and that you have tried multiple ASIO buffer sizes. A larger ASIO buffer size will usually put less stress on your system, and should prove to be more stable regarding clicking and popping issues. This said, it is advisable to try both lower and higher settings, as the best setting depends on your hardware and DAW application. The next thing to check is your digital clock settings. If you are using an external digital clock, we recommend turning this off temporarily and just using your sound card's internal sync for troubleshooting purposes. After the problem has been isolated and fixed, then you can re-establish the external clocking. Make sure that your sound card and your digital audio program are using the same sample rate and that there is only one master clock in the system.

PCI devices and sharing resources

Because our plug-ins run on the powerful UAD-1 PCI card, which uses PCI to shuttle data to and from the card, there are a few other issues to be aware of that may affect PCI devices. One issue is that some PCI slots share resources with other devices in your computer, such as video or USB controllers, and if the UAD-1 or your audio device is in these slots, there may be clicking and popping issues. The easiest solution for this--one that we commonly recommend-- is to try installing the UAD-1 or your sound card in a different PCI slot. This alone solves a good number of clicking and popping problems. Another issue that affects PCI devices, and the main focus of this article, is the fact that PCI devices are subject to the timing and arbitration priority rules inherent on the PCI bus. These settings are normally not adjustable without special software, and for most applications (Web browsing, games, business, etc.) they don't ever need adjustment. For people using their computers for digital audio, however, these settings can be critical.

Each device in a computer that is connected to the PCI bus (this includes video cards and other motherboard components such as USB and FireWire devices, as well as add-in PCI devices) has a latency setting of between 0 and 255. These settings are decided either by the device itself or by the operating system, depending on the device. The latency setting can basically be thought of as the "priority" of the device on the bus. The higher the number, the longer the device can block other devices from using the PCI bus during data transfers. Because the PCI bus is the backbone of a PC's input/output (I/O) system, the relative priority of each device is critical. It is common for AGP cards to have latency settings of 255, but this is desirable only if graphics performance is the most important requirement of the system.

This might be fine for Web surfing or gaming, but it can create havoc when the user is working on music.

PCI latency settings

Although some of the PCI latency settings depend on the system itself, a good general rule for audio systems is that the video card's latency setting should be lower than any audio device's. This alone can help with problems where you hear a click or pop when you select something onscreen with your mouse: This is a sign that the graphics card is taking priority over your audio devices. Other adjustments can involve raising the priority of your sound card, UAD-1 card(s), or FireWire adapter (by using a higher latency setting).

There are a number of software tools available for managing your PCI latency settings. Almost all of them are free for download, and a few ask for a small fee ($10 to $20) to activate the ability to apply the saved PCI settings on reboot. These tools include PCI Dawg, Double Dawg, and an application called LtcyCfg

There's a simple rule for configuring the PCI Latency timers on any DAW. The PCI Latency timer settings can be thought of as setting the priorities for each device on the PCI bus: The higher the PCI Latency timer value, the higher the priority. For a DAW, arrange the priorities in decending order as follows (example settings are shown in brackets, but you should experiment to find the best settings for your system):

  • Audio device [248]
  • Audio DSP cards (all should be the same) [64 or 128]
  • Audio hard drive controller [48 or 64]
  • System BIOS [32 to 64]
  • Everything else [32]

The PCI Latency values for the UAD-1 card must be set using the MIN_GNT setting on the Configuration dialog of the UAD-1 Meter application. These settings will override any values you set using the software tools mentioned above.

If you're using a FireWire audio interface, make sure the Firewire (IEEE 1394) controller has a high priority as well. If you're using a USB audio device, it's especially important to put it on its own USB connector and to avoid using a hub to share the USB port with other devices.

If your audio device does not use bus-mastered DMA (e.g. M-Audio's Delta series, and any USB audio IO), you should either reduce the maximum PCI latency timer values of your devices (i.e. set your DSP cards to 32 or 64, and everything else lower than that), or increase the PCI latency timer value in the system BIOS to give the USB driver software higher priority.

Some systems allow setting the default PCI Latency value in the BIOS. This value is used for CPU access to the PCI bus, and/or as the default for devices that don't otherwise specify a value. Note: Some audio device manufacturers advise setting this to 0, but do not do so, because it can seriously degrade your system's performance.

Keep in mind that the PCI Latency timers do not affect your audio latency! PCI Latency refers to the amount of time each device is granted access to the PCI bus when it is transferring data, while audio latency refers to the time delay from audio input to output, and which is set by the buffer size in your audio driver.