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.
Just wanted to add my unfortunate CPU usage of audiodg.exe... Playing World of Warcraft with TeamSpeak on Vista RTM... AudioDG.exe uses between 14-22% just like everyone else here commented. I'm using SoundBlaster Audigy drivers from Creative that they say are Vista-compatible (although I had to install them in Safe Mode to get around some cryptic messages).
I have a 965P-DQ6 v.2 and am using Realtek onboard sound. My problem with audiodg.exe concerns CPU usage. Usage runs over 40% at times.
Same issue 10%-15% utilization when playing music through windows media player (only thing I've tested).
If I hit pause during playback down to 0%
Creative Labs X-FI card driver version 188.8.131.521 (downloaded last week)
Intel e6600, 2GB pc8500, evga 680i MB
Having memory issue... My default format is 16 bit, 44100 hz (CD Quality).
Just goggled for audiodg.exe and I too have come across this site as I am having issue with audio on my motherboard.
I have a DFI Infinity Ultra II with nForce 2 ultra 400 chipset and a Realtek ALC650 on-broad audio chip.
Vista business installed some Nvidia drivers (MCP Audio Processing and Audio Codec) and although the sound worked, after a while of use it would either degrade or drop out completely. If watching a video, the video system would slow to a crawl. Restarting the Windows Audio and Windows Audio Endpoint Builder service restored the sound for a short while, but really a reboot was needed.
After checking out the spec of the MB, I realised that a Realtek chip was used so went over the Realtek and downloaded their AC97 Vista drivers. I installed and everything appeared to be fine, but then I notice a couple of issues.
Firstly, the system is taking an age to boot and almost appear to hang between the green startup bar and the Vista logo being displayed. Secondly, I have no recording devices and if I go onto the "Sound Control Panel" applet and look at the Recording devices, Audiodg.exe immediately starts consuming large amounts of CPU time and the applet hangs. I have to end the Audiodg.exe process and restart the Windows audio drivers to get anything back.
I still have the Nvidia MCP driver listed in Device manager and cannot uninstall (or at least it doesn't go away) but I am wondering what the issue might be. Is this an issue with the Realtek drivers or with Audiodg.exe?
If I get windows to look for an updated Realtek AC97 Codec diver, it reverts back to the NVIDIA(R) nForce(TM) Audio Codec Interface.
Chris, you're going to want to get the AC97 driver that goes with your motherboard, you should either use the XP driver that came with it or go to the DFI web site and see if they have an updated driver.
Otherwise you're likely to find all sorts of strange problems.
I get processor usage from audiodg.exe only when CMSS-3D is on on my X-fi. Hope that helps. Other built-in effects don't use software processing and seem to only use the card's built-in hardware.
Hi Larry, I'm having trouble getting sound out of a system upgraded to Vista from XP and I believe it's related to this new audio engine. Even if I completely remove my Audigy2 ZS and switch over to my on-board AC'97, still no sound. However, a fresh install of Vista to another partition works perfectly. Vista level II support and I have tried everything: uninstalling drivers, re-installing drivers, even installing codecs. I think they're going to give up on me soon.
Taking matters into my own hands, I've been running Sysinternals Procmon to compare the two Vista installations and it looks like the AudioEng.dll is just not being invoked for sounds in the upgrade Vista. Is there any way to verify that this engine is installed correctly or re-install it? Or is there a way to tell the Vista upgrade installer to re-install the engine?
I want to keep this upgrade installation going and not start over fresh for sentimental reasons. That's because this installtion is 13 years old! That's right, I've been upgrading hardware and Windows versions in this installation since Windows 3.1! Help me Larry, I don't want Vista to be the one that breaks the streak!
OK, so I just read through all the comments posted here and am having a similar problem, I just installed Vista Home Premium and have been running around fixing driver problems over the past two days. One I can't seem to come to terms with is the audiodg.exe one... it just eats my cpu and memory, hovering between 0 and 20% when IDLE... and jumping to 99% when in itunes playing music.
I'm running a Creative X-fi Music with brand new Vista drivers... 16 bit sound and 48 KHz quality... I'm also using audio tools to enhance sound, but it's nothing different than what I used on XP with no problems. I don't have mobo sound so the sound card is really my only option. Please help!
My 13 year old partition survives yet another upgrade! I just resovled my problem where there was no sound after upgrading to Vista. More details can be found here:
Hopefully, this might help some of you out.
hello - i have looked tried all sorts of forums but nobody has an answer - thought i'd post here because you understand AUDIODG.EXE - and i'm desperate :(
Vista 'beeps' at odd times - when i navigate aol email, highlight (click on) some functions of some other programs - it plays the default beep - "windows ding.wav" - --> ! there are NO sound themes for these actions! / they never beeped in xp.
If i delete the windows ding.wav file then my pc speaker beeps instead.
i ran the program process explorer and noticed there was a little cpu usage for audiog.exe whenever this problem occurred.
How can i figure out why vista sends a signal to play a sound under these particular circumstances?