When I recently purchased a new Dell E6410 laptop, I also shifted from Windows XP to Windows 7.
When it arrived, I ditched the fairly average Seagate Momentus 7200 160Gb replaced it with a fairly large 500gb hybrid drive and installed a fresh copy of Windows 7 32bit without unwanted software or utilities. I have 4Gb ram installed so wouldn’t be loosing out too much by running 32bit, the main reason for not going 64bit was that I wanted to continue to use live audio software, particularly Ableton Live with an external audio interface with low latency ASIO drivers. 64bit drivers are being released all the time, but I was hoping for an easier time by keeping things 32 bit.
The existing audio interface was a Tascam US-122, and this was not officially supported under Windows7. While the drivers could be tricked into installing by running the installer application in Vista compatibility mode the results were far from stellar. It worked, but the drop-outs were pretty bad, up to a second at a time, and frequent. Worst still, the drivers would hang the system on shutdown.
The Tascam US-122 was sold swiftly on ebay and replaced with a more current model with Windows 7 driver support – the Tascam US-144 mk2.
The laptop also has: (it becomes relevant later)
- NVidia NVS 3100M graphics
- NVidia Audio
- Intel Gigabit lan
- Intel 6300-N Wireless
Audio drop-outs and stutter
The driver installation was straightforward, and the US-144 was up and running within a minute. I immediately fired up Ableton changed the audio output configuration, stuck with the default ‘medium’ latency settings and hit play. Everything fired up and the audio was clean.
For about 20 seconds.
The audio would then drop out for up to a second at a time, and relatively frequently. There was a vague connection with what I was doing at the time, but not one I could really figure out. It seemed to often coincide with an action on my part, but I couldn’t make it happen to order either, and then sometimes it would happen without any apparent interaction from me. This wasn’t just with Ableton either, just running an mp3 media player would also suffer the same way.
A tried several things to remedy this:
- All latency settings
- Different USB ports
- Using latest Tascam drivers
- Disabling Antivirus (NOD32 AV)
- Using ProcMon to look for other process threads or anything else appearing when the dropouts occur
- Looking through Tascam and other forums
All without any success. I was particularly hopeful when firing up ProcMon that I would find the culprit process that was interferring with the audio stream, but found no obvious correlation with events and the drop outs.
I decided to cut my losses and return the unit immediately with a view to trying a different vendors product. I gravitated towards the M-audio and also the Presonus product lines with M-Audio having the edge. While on the M-audio forums, I found a page entitled Pops, clicks, crackles, dropouts, or distortion – USB Audio Troubleshooting Guide . It mentions a utility – Thesycon’s DPC Latency Checker which specifically looks at the system latency as seen by a driver. Running the utility immediately showed that there were some DPC latency issues with frequent spikes of over 17,000 microseconds – over eight times the problem threshold of 2000 microseconds. The article discusses IRQ issues and recommends turning unused devices off, so I opened up device manager and disabled everything that wasn’t required, or could be temporarily disabled, this included:
[the underlined items I left permanently off]
- Intel 82577LM Gigabit Network connection
- Intel Centrino Ultimate-N 6300 AGN
- Microsoft Virtual WiFi Miniport Adapter
- High Definition Audio Device (+ 4x NVIDIA High Definition Audio devices)
- ECP Printer Port LPT1
- Intel Active Maangement Technology SOL COM3
- Microsoft USBCCID Smartcard Reader WUDF
- Dell ControlVault w/o Fingerprint Sensor
- Integrated webcam
From the system BIOS I also disabled the serial port, LPT1 and bluetooth module. With all this disabled and after a reboot the DPC graph still didn’t look good and the large 17,000+ spikes remained. I found another forum post that linked NVidia’s graphics card ‘powermizer’ feature to the PDC latency spikes. The powermizer feature ramps the GPU clock up and down according to graphics load, allegedly when the clock changes, the DPC issue strikes.
I fired the video adapter GPU monitoring utility – TechPowerUp GPU-Z. Running this alongside the PDC checker allows you to check for event correlations. Sure enough, the GPU clock would ramp up and down, and particularly when dropping to the most idle state the DPC spike would occur. It wasn’t guaranteed though, sometimes there was no spike, but when there was a spike it was always around 17,000 microseconds and occured in a GPU clock change. At this point I no longer owned the Tascam audio interface, it was already in the post being returned, but the pattern of dropouts were a match to the audio drop-outs I had been experiencing with it. I never had issues with the on-board NVidia audio, but the latency of that device was far too big to use with Ableton.
I uploaded a video to YouTube showing this correlation (best viewed full screen):
Reading further I found mention of a utility to disable NVidia’s PowerMizer feature with PowerMizer Switch v1.2. I ran this ‘as administrator’, selected “turn off” and rebooted. I also changed system power settings to ‘max performance’ and tried again., and this time was not running on battery either. I’m please to report that at this point the problem disappeared and DPC latency fell drastically and no spikes occurred. In the video I’m also running CPU load tester and a benchmark concurrently, and at some points rapidly switching a window from maximized to minimized to try to invoke a problem. It didn’t happen – no more latency issues. See video:
While this resolved the problem, it isn’t a 100% black and white case of blaming the graphics driver as I’ve changed more than just the PowerMizer setting – I’ve also switched power modes and am running on AC, not battery. But truth be told, it looks like NVidia is the most likely root cause.
I should also point out that the issue of DPC latency is ablaze across Nvidia’s own forums. One particular forum thread spanning over 1 year and 23 pages long specifically refers to “notebook powermizer issues”. Trawling through the official nvidia responses in that thread shows there has already been an official “bugfix” released last year. Despite that “fix” and subsequent driver updates between then and now (16th Jan 2011) I still ran into this issue even using the latest drivers for my NVS3100M ( v260.99 ). So whatever it is, it seems far from fixed. I’m just glad that disabling PowerMizer gave me the result I wanted.
Hopefully someone else may find this useful in resolving or improving their latency and audio drop out problems.
Update 10th Feb 2011 :
Another useful very useful utility for actually identifying which driver is causing the issue is LatencyMon from http://www.resplendence.com/latencymon