MMCSS を無効にする (Windows)
MMCSS とは?
マルチメディアクラススケジューラサービス (MMCSS) について
安定性と低遅延を実現するために、ドライバーはオーディオをリアルタイムで処理する必要があります。ドライバ自体は CPU に負荷をかけませんが、データが利用可能になり次第、OS による処理をスケジュールする必要があります。同じことが DAW にも当てはまります。待ち時間に敏感なアプリケーションができるだけ早くスケジュールされるために、それらは高いプロセスおよびスレッド優先順位で実行されます。
Windows はマルチメディアアプリケーションのための特別なサービス – Multimedia Class Schedule Service (略して MMCSS) を提供します。手動でスケジューリング優先順位を処理する代わりに、アプリケーション内の各スレッドは自分自身を MMCSS に登録し、サービスは自動的にスレッド優先順位を引き上げます。ほとんどの場合これは上手く働きます。
しかし、キャッチというものがあり、スレッドが与えられた時間割り当てを超えると、サービスはバックグラウンドタスクで実行するためにスレッド優先度を劇的に下げます。つまり、小さなバッファサイズを使用している時にバックグラウンドで他のタスクが実行されている場合、MMCSS は DAW とドライバスレッドの優先順位を下げる場合があり、バックグラウンドタスクが優先順位を横取りします。
各 DAW によって異なる動作をします。いくつかの DAW は MMCSS に登録し、他は手動でスケジューリング優先順位を管理します。ドライバのスレッド自体を MMCSS に登録するかどうかを選択するために、ASIO 設定コントロールパネルにチェックボックスがあります。 DAW の動作と一致するはずです。
セッション中にバックグラウンドタスクが実行されていないのが最善ですが、これが可能であるとは限りません。バックグラウンドタスクが CPU を引き継ぐ時にパチパチという音がする場合は、ASIO 設定コントロールパネルの MMCSS 登録チェックを外すか、MMCSS をすべて無効にして DAW を手動で “リアルタイム優先” に設定してみてください。
MMCSS を無効にするには、 “regedit” を実行し、Computer \ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ MMCSS に移動し、[Start] の値を 4 に変更し、コンピュータを再起動します。これでサービスは完全に無効になります。
私たちは MMCSS の悪影響についてASIO Standard (Steinberg) と連絡を取り合っており、より多くのドライバーや DAW が MMCSS 登録をオプションできることを願っています。