Thursday, December 26, 2013

Audio Crackling Caused by DPC Latency - Attributed to Symantec Endpoint Protection

For several months I've been wrestling with a recurring audio problem with my Dell XPS 410 desktop computer. It's not a new computer, but still seems to have hardware specs which would tend to support full screen streaming video in HD (specifically YouTube videos) without any problems...2.4GHz Intel Core 2 Duo E6600, 4GB DDR2 RAM, two 250GB SATA drives in a RAID 0, NVidia GForce 8600 GTS 256MB video card, etc.  The PC originally came with Microsoft Windows Vista Ultimate installed.  I recently (finally) upgraded it to Windows 7 Ultimate. I needed to upgrade when I purchased Win7 a couple of years ago, but just never made the time to do it.  I have to confess that my motivation to upgrade was pretty low based on how infrequently I use this particular computer, but the need to solve this nagging audio crackling problem finally pushed me to follow through with it. 

The audio problem manifests itself in a popping and crackling sort of way.  Almost like you’re trying to play audio off a drive that’s not capable of keeping up with the demands or from a drive which is being over-burdened…kind of like skipping, but with more of a defined crackle to it.  It’s most noticeable when playing full screen high quality video (HD) both when streaming online content and when playing local videos (such as GoPro videos).  Generally speaking the video keeps up and doesn’t exhibit any problems, but the associated audio crackles enough to drive me mad. 

I tried everything I could think of. I started simple and went from there.  Defrag? Check.  Update drivers? Check.  Update BIOS and Firmware across the board?  Check.  Uninstall unnecessary software and hardware? Check.   Run Performance Monitor on drives, CPU, Memory, video, etc.? Check.  Run Dell diagnostics? Check.  Nothing seemed to matter.  Disable browser plugins?  Check.  Research and adjust settings on everything I could think of (Flash player, browser, OS, you name it)? Check.  Still no love. 
Then I stumbled upon a utility called DPC Latency Checker.  DPC latency?  What the heck is that?  Come to think of it, what’s DPC?  I did more research. 

DPC stands for Deferred Procedure Call.  In short, it’s a Windows operating system mechanism which allows hardware drivers’ high priority tasks to be performed while deferring lower priority tasks to a later time.  There are plenty of sources on the Interwebs to learn more about DPC…I’m certainly not the person to explain it.  Which brings us to DPC latency. 

DPC latency is basically when a device driver takes longer than normal to process a task.  This can cause other drivers to be delayed in their processing, often resulting it problems with audio streams.  Yes, audio.  Normally this manifests itself as pops and clicks.  Hmm…sounds familiar. OK, so I know what DPC and DPC latency are.  Now what?

Running DPC Latency Checker
If you’re still reading this, you will have no problem finding DPC Latency Checking online using your favorite search site.  Download it and run it.  You’ll see a graphical representation (bar graph style) showing green (good), yellow (borderline), and red (bad).  I saw red (humming a 90’s era ballad by hair-band Warrant).  While I didn’t think to take a screen shot of my actual results, the image below is a spitting image of what I saw each time I opened a browser (Chrome or IE) while DPC Latency Checker was running.

Once DPC Latency Checker displayed that I was having a problem I was able to see spikes when I would launch a browser (especially Chrome) or navigate between sites.  I initially followed the guidance offered by the Checker and began disabling hardware devices (using the Windows Device Manager) with very little in the way of positive results.  (As a side note, be sure not to accidentally disable your USB mouse during this process…makes navigation a bit problematic. )

After disabling several devices with no improvement to my audio problem (or to the display on the Checker), I started to focus more attention on the fact that opening a browser window seemed to cause spikes and exacerbate the audio crackling problems.  Plugins?  Settings?  Malware?  Nope, none of those.  I updated plugins, removed plugins, adjusted browser settings…no change.  

Finally I saw a tip on another site indicating that DPC Latency spikes had been attributed to Norton Internet Security software.  I don’t run NIS, but I was running a similar product from the same vendor…Symantec Endpoint Protection.  I get free use of SEP on my home computers through my employer, so I have used it on and off for several years.  Could it be causing my DPC latency and my audio problems?  I disabled Symantec’s Realtime Protection, but that didn’t change anything.  So I took the plunge and uninstalled it entirely.  Initially there was still no change, but after a reboot my DPC latency was down to a very acceptable level.  DPC Latency Checker showed green with an occasional spike into the yellow, but no red.  And the audio crackling problem was gone.  After months and months of frustration, it turns out Symantec Endpoint Protection was causing my problems. 

Now, back to full screen Youtube videos.

Monday, December 9, 2013

Noticed that Chrome seemed a little slow...

I just got a new update to Chrome (Version 31.0.1650.63 m) and noticed that it seems to slow down when going to some pages.  Almost like it would hang. By the way I do the majority of my Chrome browsing in 'Incognito' mode.

So after some research, I found that it might be a Privacy setting in Chrome.  Previously I had "Predict network actions to improve page load performance" checked.  I unchecked the setting that is circled very precisely in red in the screen shot below, and then closed all Chrome windows and reopened Chrome.  To perform a test, I typed bing in the address bar and hit CTRL+ENTER (cool shortcut to add the "www" and the ".com" to whatever is typed in the address bar).

Like magic it was back to the fast browsing I enjoy with Chrome.

Hope it helps you guys out.  Run wild, be free!