One of the new audio components in Vista is a new process named audiodg.exe.
If you look at it in taskmgr, the description shows "Windows Audio Device Graph Isolation", but that's not really particularly helpful when it comes to figuring out what it does.
The short answer is that audiodg.exe hosts the audio engine for Vista. All the DSP and other audio processing is done in audiodg.exe. There are two reason it runs outside of the windows audio service.
The first is that there's 3rd party code that gets loaded into audiodg.exe. Audio hardware vendors have the ability to install custom DSPs (called Audio Processing Objects or APOs) into the audio pipeline. For a number of reasons (reliability, serviceability, others) we're not allowed to load 3rd party code into svchost processes (svchost.exe is a generic host process for services that's used inside Windows). So we need to move all the code that interacts with these 3rd party APOs outside the audio service (that way if an APO crashes, it won't take out some other critical part of the system with it).
The second reason for using a separate process for the audio engine is DRM. The DRM system in Vista requires that the audio samples be processed in a protected process, and (for a number of technical reasons that are too obscure to go into) it's not possible for a svchost hosted service to run in a protected process.
So why audiodg?
As I mentioned in my post "Audio in Vista, The Big Picture", the route that audio samples take through the audio engine can be considered a directed graph. Internally, we refer to this graph as the "Audio Device Graph" (ok, strictly speaking we call the part to the left of the mixer as the local graph, and the part to the right of the mixer the device graph, but when we consider the big picture, we just call it the audio device graph).
So why AudioDG?
Originally we called the process DeviceGraph.Exe. For a number of reasons that are no longer relevant (they're related to the INF based installer technology that was used before Vista), we thought that we needed to limit our binary names to 8.3 (it's a long story - in reality we didn't, but we thought we did). So the nice long names we had chosen (AudioEngine.Dll, AudioKSEndpoint.Dll, and DeviceGraph.Exe) had to be truncated to 8.3.
I felt it was critically important that all the audio components had to have the word "Audio" in the beginning to make it clear that they had to do with audio functionality. Since we thought we were limited to 8.3 names, that meant we had 3 letters to play with in the name. For AudioEngine.Dll, it was relatively simple - it shortened to AUDIOENG.DLL. Similarly for AudioKSEndpoint.Dll, it shortened to AUDIOKSE.DLL.
But DeviceGraph was somewhat more complicated. I originally went with AudioADG.EXE (audio+ADG for Audio Device Graph), but people thought it was redundant (It expanded to audio audio device graph).
Eventually we settled on "AUDIODG.EXE".
So why the funky description? Well because it accurately reflects what audiodg is - it's a part of Windows, so you get "Windows", it hosts the "Audio Device Graph", and isolates it from the Windows Audio Service.
Im getting the excessive memory problem too, audiodg.exe uses between 220 and 340mb of ram :(
my motherboard is a Gigabyte GA-965P-DS3 with realtek HD audio - I downloaded the vista audio drivers from the gigabyte website
realtek driver information:
Audio driver version: 126.96.36.19902
DirectX version: 10.0
Audio controller: HD Audio
Audio codec: ALC 883
Running into problems CPU utilization w/ audiodg.exe as well - ASUS P5ld2-VM motherboard with onboard Realtek sound (using Realtek High Definition drivers from 01/18/07, Vista Certified). AudioDG.exe runs at 0% CPU until I turn on Speech Recognition, at which point it starts bouncing between 24 and 28%.
I too have a Gigabyte DS3 with the Realtek HD Audio. I've disabled all effects and pretty much everything I could find to try and just run the bare minimum I could for sound. I'm sitting at 286MB for AudioDG.exe. That's just rediculous, its not even playing anything. Double you tee eff.
Ashley, hi, I work on the audio engine (with Larry :-)). Are you running an RTM version of Vista? If yes, what is the sampling rate of your speaker device? (right-click speaker icon, select Playback Devices, double-click your default audio device the one with the green checkmark, click advanced tab. There will be an entry that looks like "xx bit, yyyyy Hz (some quality)").
I think I am runing the standard Vista Ultimate edition. The sampling rate is set to 16 bit, 48000 Hz.
Just wanted to add that I'm also running a Gigabyte DS3 motherboard with Realtek onboard sound. Audiodg.exe leaks memory about 1/2 meg per song in windows media player. If I start WMP and watche the memory usage, every time I click "next track" the memory usage goes up circa 5-600kb.
I hope this is of some help to you in solving the problem.
Either we can owe this coincidence to the popularity of the Gigabyte GA-965P-DS3 (not likely) or we have a problem with audiodg.exe that we Gigabyte owners just happen to be in here reporting (I stumbled on this thread while 'googling' for some answers to 'audiodg.exe +memory'). I'm also a DS3 owner, running Vista Premium, using the onboard Realtek audio and I'm sitting here wondering why my clean build is chewing on 380MB of my 2GB of RAM. I paid good money for my RAM, I'd rather not have it leaking all over the system board. Anyone find a good answer to this agressive memory consumption and audiodg.exe?
Most excellent. Here's some additional data for anyone at Microsoft that might be listening. I have my Realtek configured with nothing by stock/default options. No special DSP settings, etc. 16 bit, 48Khz. Vanilla all the way. Ok... with that said. I can sit here with TaskMgr running and open "System Sound Events" in Vista and EAT memory just by playing system sounds with the "Test" button in system sound events panel. Good stuff. Memory is cheap, and all.. but please don't eat my memory. Put it back where you found it when you're finished using it. Hopefully someone at MS gets a whiff of what stinks in audiodg.exe and renders a quick, reliably fix. I'd hate to run back to XP, but I might have to if this kind of misbehavior lingers for very long. I can't afford to reboot just because I superceded my daily quote for audio playback. Maybe that's part of DRM?!?! ;-)
UPDATE: I didn't end up swapping in my Santa Cruz (yet), but I found R1.60 Driver Set for HD Audio on Realtek's site and upgraded the drivers in Vista (these drivers are not available via Gigabyte site).
After updating the drivers and rebooting, I was able to RE-Enable the sound effects (actually, the reinstall of drivers automatically un-checked the 'disable all sound effects' option). This driver set seems, so far, to have resolved the issue I was seeing with AudiDG.exe. I'm not able to play sounds, music, etc. and I'm no longer leaking memory all over the place. It consumes a little bit, here and there, and promptly returns the memory to Windows when it's finished. This is a relief. Next stop, Santa Cruz (and hopefully some stable drivers there, too).
It could be Realtek's fault... I didnt particularly like their XP drivers (my front audio port wouldnt work unless I unplugged the speakers from the rear port and plugged them back in!), so it wouldnt surprise me if they hadnt come up with a proper driver for vista yet (although I dont have the front audio problem now)
Ashley, we're continuing to investigate the issue, it's possible that the problem is in Realtek's system effects.
Don't forget that after changing the system effects setting, you need to either reboot your machine or restart the Windows Audio service - memory that's leaked won't be reclaimed.
... same with me. But again more MB.
I have 1 GB RAM, Asus K8NE board, and the very basic first Realtek-Vista driver (no HD stuff). After reboot it takes around 7MB, after using Media Player or Media Center this audiodg.exe takes all the left memory. all prosses are blocked or very, very slow, because the cpu has constantly 100%. I only can stop it by rebooting.
I hope it can be solved soon! I'm at this stage not able to use Vista.
I'm using a Gigabyte 965P-DS3, too. Furthermore I have an X-Fi Sooundcard installed. My problem with the audiodg.exe does not concern the memory but the cpu usage.
At the moment, in idle mode, not playing any sounds, it takes up to 9 percent cpu usage (Core 2 Duo @ 3 Ghz). There must be something wrong about it.
This afternoon, in combination with the spoolsv acting up, it even took up to 48 percent cpu usage.
I'm looking forward to a fix for this problem.
P.S.: Soory for language mistakes, I'm german.
In addition to the high CPU usage, I am also getting a constant 'Ding' sound every 3 seconds from the audiodg.exe. After I removed the audiodg.exe from the Task Manager, the sound will stop. I am using Vista Ultimate and X-fi Platinum with both their beta and official vista driver.
Ive got a Asus a8n sli premium and im using a "Creative X-FI Xtreme Gamer" .
2 GB Dualchannel Ram
X2 3800+ @ 2 x 2.6ghz ( 100% stable )
So now my problem is that my sound breaks down while im playing Counterstrike 1.6. Its like a soundlag every 5 seconds ... and sometimes the soundquality in counterstrike sounds like a live amateur record of a concert ...
and when im listing to music with windowsmediaplayer the audiodg.exe needs about 10% cpu power and wmp about 15% ...