さて我が家にTRAKTOR専用機としてEdge13さんが来てからというもの、Windowsで音飛びしないPCDJ環境を、とアレコレ試行錯誤して、余計な割り込みを作る原因の切り分けツールとして最強といえるLatencyMonを使い、いい感じに落ち着いたわけです。普段ラジオやってても全然音飛びしないし実用に耐えうる状態になっている。
だけどね、喉に小骨が引っかかっているというか、歯にほうれん草が挟まっているというか、気になってる事があるんですよ。LatencyMonで調べると(音飛びしない範囲で)一番割り込みを発生させているのがACPI.SYSってプロセス。ウチは問題ないけど、他の人のPCでは音飛びするレベルでこいつが割り込みをする事がある。そもそもこいつは何なんだ。ACPIってくらいだから電源管理のプログラムだろう。お前何とかならんのか。昔はAPMってあったじゃないか。ということでACPI.SYSが稼働しない状態を作ったらそれが最強のPCDJじゃないのか?という仮説が俺の中で、こうムクムクと屹立したわけです。いやらしい。じゃあどうやったらACPI.SYSは動かなく出来るのか?呟いてみるもんですね。PCDJ関連のツイートを集めてお知らせする@PCDJ_info_JPの中の人に「ミンナニハナイショダヨ」と教えてもらいました。パブリックなTL上で内緒もクソもないんですが。
>ACPI.sysを停止するには、「コントロールパネル」→「デバイスマネージャー」→「バッテリ」で、Microsoft AC Adaptorと、Microsoft ACPI-Compliant〜の2つを右クリックで「無効」に設定です。その2つを止めると、ACPI.sysは止まるのでなく、居るけど呼ばれなく(動かなく)なりまして、うちではLatencyの数値がかなり改善されました。どうぞご確認ください。
ホホウ…これは気になる情報じゃわい(無い顎髭を撫でつつ)…と帰宅してからテストしてみたわけです。わざわざ拘ってAMD系CPU搭載マシンにしたのでウチは安定しているんですが、この安定環境ですら何かしらの改善があれば音飛びが頻発する環境ならもっと劇的に安定も見込めるんじゃないの?と思うんですよ。ってことでまずはTRAKTORを起動してAudio8DJを稼動させた状態、これからDJすっぞー、という状態にしてから、LatencyMonとDPC Checkerを起動して測定してみましたよ。測定する環境は4つ。ACPI.SYSが稼働・非稼働の2環境で、PCDJで鬼門とされるWifiをそれぞれ稼働・非稼働にして測定する。
<ACPI.SYS稼働の状態でWiFiオン/オフしてみる>
WiFiオン
WiFiオフ
とりあえず計測した2分間の間に発生した大量の割り込み、そしてその割り込みの中で最大の応答待ち時間であるHighest Routine Execution Timeの値が、まぁオンもオフもそんなに変わらなくて1280〜1380の間を推移している。WiFiアダプタの相性?によってはオフにするだけでこの数字も物凄く落ち着く場合もあるけど、まぁウチの場合はオンもオフも変わらない。Wifiオン状態で安定してくれないと、ニコ生でコメ書きながらラジオとか出来ないから困るのよねーということで。まぁ結果としては至って普通。安定してます。DJするのに音飛びも発生しない、安心して使えるレベル。じゃあこのレベルから更に安定は目指せるのか?ということでアドバイスに従い、デバイスマネージャから「Microsoft AC Adaptor」と「Microsoft ACPI-Compliant Control Method Battery」を停止してみる。
右クリックして止める
2個とも止まった!
さてそれじゃあ測定方法は同じで数値はどう変化するのか。ACPI.SYSが稼動していない状態でこちらもWiFiをオン/オフして両方の数値を取ってみましょう。果たして変化はあるのか?何か妙に緊張してトイレ行きたくなった。DJブースの前に立つといつもこれだ。ハコでやる時なんざいつも緊張で腸の中はカラッポやっちゅーねん。まぁそれはさておきポチっとな。
<ACPI.SYS非稼働の状態でWiFiオン/オフしてみる>
WiFiオン
WiFiオフ
WiFiオンの時の最大値が906…あれ!小さくなってる!しかもこの数値を出したプロセスが両方ともUSBPORT.SYSということで、WiFiとAudio8DJの制御で発生した割り込みによるものかな?いずれにせよACPI.SYSがナリを潜めた今、2番手として割り込みを発生させていたと思われるUSB制御のドライバが顔を出した。まずこれだけでも効果アリ!そして特筆すべきは更にWiFiをオフした状態。驚きの307…!!!オイなんだこれは!!まだ底があったじゃないか!(数字がいきなり凄かったので一応4分計測しました)WiFiが無くなってAudio8DJの制御だけに注力出来るようになった結果がこれ、ということなのかな?この環境で音飛びとかあり得るのか!?というくらいに安定しそうな、ヨダレものの数字が出ているじゃないですか。あまりの興奮ぶりに、夜中だというのにOotani Sucksを熱唱する所でした。雪解けの味がする数字!春じゃ!Windows環境に春が来た!ここまでハッキリ数字として出てくれると測定した甲斐がある!
結論として、音飛びに悩むPCDJっ子が居るならば、そしてWindows7を使っているならば、まずはWiFiを切ること、そして今回試験した方法であるところのACPI.SYSの稼働を止めてみる、この2点が安定稼働への大きなヒントになるのではないか、という結論まで来た。何というか核心に近付いたという感はある。ただ当然考えうるのは、電源制御のドライバであるACPI.SYSを止めたことできちんとシャットダウン出来なくなったり本体の電源が切れなくなったりという、まぁ音飛びに比べたら些細な問題ではあるんだけども、そういう弊害があるかもしれない。その辺はデフォルトで動いているものを止めるという手法に対するリスクとして、一つ覚えておく事が大事。
ということで「どうせならWindowsでPCDJ環境を」という当初からのお題目を胸張って言うための一歩を今日、また踏み出した気がするよ!まぁ大袈裟な話ではありますが。問題はWindowsXPならどうすんの?って事だなー。ACPI使わずにAPM使うようにインストールすれば安定するんだろうか?
だけどね、喉に小骨が引っかかっているというか、歯にほうれん草が挟まっているというか、気になってる事があるんですよ。LatencyMonで調べると(音飛びしない範囲で)一番割り込みを発生させているのがACPI.SYSってプロセス。ウチは問題ないけど、他の人のPCでは音飛びするレベルでこいつが割り込みをする事がある。そもそもこいつは何なんだ。ACPIってくらいだから電源管理のプログラムだろう。お前何とかならんのか。昔はAPMってあったじゃないか。ということでACPI.SYSが稼働しない状態を作ったらそれが最強のPCDJじゃないのか?という仮説が俺の中で、こうムクムクと屹立したわけです。いやらしい。じゃあどうやったらACPI.SYSは動かなく出来るのか?呟いてみるもんですね。PCDJ関連のツイートを集めてお知らせする@PCDJ_info_JPの中の人に「ミンナニハナイショダヨ」と教えてもらいました。パブリックなTL上で内緒もクソもないんですが。
>ACPI.sysを停止するには、「コントロールパネル」→「デバイスマネージャー」→「バッテリ」で、Microsoft AC Adaptorと、Microsoft ACPI-Compliant〜の2つを右クリックで「無効」に設定です。その2つを止めると、ACPI.sysは止まるのでなく、居るけど呼ばれなく(動かなく)なりまして、うちではLatencyの数値がかなり改善されました。どうぞご確認ください。
ホホウ…これは気になる情報じゃわい(無い顎髭を撫でつつ)…と帰宅してからテストしてみたわけです。わざわざ拘ってAMD系CPU搭載マシンにしたのでウチは安定しているんですが、この安定環境ですら何かしらの改善があれば音飛びが頻発する環境ならもっと劇的に安定も見込めるんじゃないの?と思うんですよ。ってことでまずはTRAKTORを起動してAudio8DJを稼動させた状態、これからDJすっぞー、という状態にしてから、LatencyMonとDPC Checkerを起動して測定してみましたよ。測定する環境は4つ。ACPI.SYSが稼働・非稼働の2環境で、PCDJで鬼門とされるWifiをそれぞれ稼働・非稼働にして測定する。
<ACPI.SYS稼働の状態でWiFiオン/オフしてみる>


とりあえず計測した2分間の間に発生した大量の割り込み、そしてその割り込みの中で最大の応答待ち時間であるHighest Routine Execution Timeの値が、まぁオンもオフもそんなに変わらなくて1280〜1380の間を推移している。WiFiアダプタの相性?によってはオフにするだけでこの数字も物凄く落ち着く場合もあるけど、まぁウチの場合はオンもオフも変わらない。Wifiオン状態で安定してくれないと、ニコ生でコメ書きながらラジオとか出来ないから困るのよねーということで。まぁ結果としては至って普通。安定してます。DJするのに音飛びも発生しない、安心して使えるレベル。じゃあこのレベルから更に安定は目指せるのか?ということでアドバイスに従い、デバイスマネージャから「Microsoft AC Adaptor」と「Microsoft ACPI-Compliant Control Method Battery」を停止してみる。


さてそれじゃあ測定方法は同じで数値はどう変化するのか。ACPI.SYSが稼動していない状態でこちらもWiFiをオン/オフして両方の数値を取ってみましょう。果たして変化はあるのか?何か妙に緊張してトイレ行きたくなった。DJブースの前に立つといつもこれだ。ハコでやる時なんざいつも緊張で腸の中はカラッポやっちゅーねん。まぁそれはさておきポチっとな。
<ACPI.SYS非稼働の状態でWiFiオン/オフしてみる>


WiFiオンの時の最大値が906…あれ!小さくなってる!しかもこの数値を出したプロセスが両方ともUSBPORT.SYSということで、WiFiとAudio8DJの制御で発生した割り込みによるものかな?いずれにせよACPI.SYSがナリを潜めた今、2番手として割り込みを発生させていたと思われるUSB制御のドライバが顔を出した。まずこれだけでも効果アリ!そして特筆すべきは更にWiFiをオフした状態。驚きの307…!!!オイなんだこれは!!まだ底があったじゃないか!(数字がいきなり凄かったので一応4分計測しました)WiFiが無くなってAudio8DJの制御だけに注力出来るようになった結果がこれ、ということなのかな?この環境で音飛びとかあり得るのか!?というくらいに安定しそうな、ヨダレものの数字が出ているじゃないですか。あまりの興奮ぶりに、夜中だというのにOotani Sucksを熱唱する所でした。雪解けの味がする数字!春じゃ!Windows環境に春が来た!ここまでハッキリ数字として出てくれると測定した甲斐がある!
結論として、音飛びに悩むPCDJっ子が居るならば、そしてWindows7を使っているならば、まずはWiFiを切ること、そして今回試験した方法であるところのACPI.SYSの稼働を止めてみる、この2点が安定稼働への大きなヒントになるのではないか、という結論まで来た。何というか核心に近付いたという感はある。ただ当然考えうるのは、電源制御のドライバであるACPI.SYSを止めたことできちんとシャットダウン出来なくなったり本体の電源が切れなくなったりという、まぁ音飛びに比べたら些細な問題ではあるんだけども、そういう弊害があるかもしれない。その辺はデフォルトで動いているものを止めるという手法に対するリスクとして、一つ覚えておく事が大事。
ということで「どうせならWindowsでPCDJ環境を」という当初からのお題目を胸張って言うための一歩を今日、また踏み出した気がするよ!まぁ大袈裟な話ではありますが。問題はWindowsXPならどうすんの?って事だなー。ACPI使わずにAPM使うようにインストールすれば安定するんだろうか?