%20%E3%82%92%E5%BC%B7%E5%88%B6%E7%B5%82%E4%BA%86%E3%81%97%E7%B6%9A%E3%81%91%E3%82%8B%E3%81%9F%E3%82%81%E3%80%81%E3%82%AA%E3%83%BC%E3%83%87%E3%82%A3%E3%82%AA%E3%81%AE%E8%B5%B7%E5%8B%95%E3%81%8C%E9%81%85%E3%82%8C%E3%82%8B.png)
Windows Server 2012 R2 を実行しているときに、RDP 接続に関する厄介な機能に気付きました。
audiodg.exe
Windows は、オーディオ サービスが 5 分以上アイドル状態になると、オーディオ サービスを強制終了し続けます。
これに伴う問題は、新しいオーディオ出力には 5 ~ 10 秒の起動遅延が発生し、audiodg.exe
オーディオ出力を開始する前に再度スプールアップを待たなければならないことです。
すべての Windows Server バージョンで RDP 接続によるオーディオ遅延の問題が何度も議論されているのを見てきましたが、これがこれらすべての問題の原因である可能性があると言及している人はまだ見たことがありません。
audodg.exe のスプールアップ時間により、サーバー上のすべてのオーディオが遅延します。オーディオのソースは関係ありません。オーディオ フィードバックのあるインタラクティブ アプリは同期が取れなくなり、Chrome 上の Youtube ビデオは audiodg が再度実行されるまでフリーズします。
私のサーバーでは、audiodg は起動時に CPU を 100% 消費します。何をしているのかはわかりませんが、通常のオーディオが再開されるまでに、約 5 ~ 10 秒間 CPU を 100% 使用して何かを実行します。
起動して実行すると、すべてのオーディオが瞬時に再生されます。遅延やラグはありません。実行され続ける限り、すべて正常に動作します。
この厄介な「機能」を修正するために私が見つけた唯一の方法は、Windows が audiodg を強制終了するのを防ぐために、4 分ごとに数秒間のサウンド (無音) を再生する繰り返しタスクを作成することでした。
それは愚かな解決策のように思えます。
いくつかの疑問が頭に浮かびます (重要度順に並べるといいと思います):
ハッキーな解決策に頼らずに、そもそも audiodg が強制終了されるのを防ぐにはどうしたらよいでしょうか? どこかにこのレジストリ設定があるのでしょうか? サービスを「手動」に設定しましたが、違いはありません。自動/手動...どちらにしても同じ問題です。
audiodg の起動がなぜこんなに遅いのでしょうか? これも何らかのバグか意図しない機能である可能性もあると思います。
アップデート
質問 2 の答えはここにあったようです:
プロセスaudiodg.exeはcatrootをスキャンし、IOを消費します