The thread that APOProcess is running on should already be registered with the Multimedia Class Scheduler Service. This in turn should guarantee it runs at very high priority for short bursts. If you're running on a Server SKU, the Multimedia Class Scheduler Service is basically neutered. Is it possible that those few production machines are all running the Server SKU? From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Dadi Sent: Wednesday, April 2, 2014 3:01 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Core processor enters idle state while APO is processing audio Hi, On few machines while audio is being played, the machine has entered an idle state that caused our processing inside APOProcess to process too slow and not return on time. This caused lost frames and bad noise has been heard. Our code is optimized and the above case is rare but still occurs on few production machines. Note that we have three APOs running in memory (Render MFX, EFX and capture MFX) simultaneously. Is there a way to programmatically avoid such case? We tried to set the power parameter GUID_PROCESSOR_IDLE_DISABLE and this indeed prevented the processor to become idle and the problem didn't reproduced. We can use that in LockForProcess (to set the flag) and UnlockForProcess (to revert the old value of the flag). But this way might not be the right way because this setting is a global power system setting that overwrites the user's active power scheme. Also - the user can modify the active power scheme at any time... What is the best way (or the right way) to resolve it? Also, isn't audiodg.exe responsible to protect the process thread from such case? Thanks, Dadi