Запустив Windows Server 2012 R2, я заметил раздражающую особенность RDP-соединений:
Windows продолжает убивать аудиосервис audiodg.exe
если он не используется более 5 минут.
Проблема в том, что любой новый аудиовыход теперь будет страдать от задержки запуска в 5-10 секунд, т.к. audiodg.exe
для повторной загрузки, прежде чем можно будет начать вывод звука.
Я неоднократно видел, как проблемы с задержкой звука обсуждаются с RDP-подключениями во всех версиях Windows Server, но я еще не видел, чтобы кто-нибудь упомянул, что это может быть причиной всех этих проблем.
Время буферизации audodg.exe задерживает все аудио на сервере. Неважно, откуда исходит звук. Интерактивные приложения со звуковой обратной связью будут рассинхронизированы, а видео Youtube в Chrome зависнет до тех пор, пока audiodg снова не запустится.
На моем сервере audiodg загружает ЦП на 100% при запуске. Я не знаю, что он делает, но он что-то делает при 100% загрузке процессора в течение примерно 5-10 секунд, прежде чем возобновится нормальный звук.
Как только он запущен и работает, все аудио мгновенно. Никаких задержек и отставаний. Все работает нормально, пока работает.
Единственный способ, который я нашел, чтобы исправить эту надоедливую «функцию», состоял в том, чтобы создать повторяющуюся задачу, которая воспроизводит несколько секунд звука (тишины) каждые 4 минуты, чтобы Windows не убивала audiodg.
Это кажется глупым решением.
На ум приходит пара вопросов (думаю, в порядке важности):
Как я могу вообще предотвратить убийство audiodg, не прибегая к хакерским решениям? Есть ли где-нибудь параметр реестра для этого? Я установил службу на «ручной», но это не имеет никакого значения. Автоматический/ручной... та же проблема независимо.
Почему audiodg запускается так медленно? Я думаю, что это также может быть какая-то ошибка или непреднамеренная функция.
Обновлять
Похоже, я нашел ответ на вопрос 2 здесь:
Процесс audiodg.exe сканирует catroot и hogs IO