REAKTOR TIPS : REAKTORって重いよね…

ちょっとフィルターいっぱい使って同時発音数増やすとすぐブチブチ音が途切れてしまうのに、DAWでVSTiとして読み込んだらそこまででもなく…どうなってるのこれ、っていうREAKTORあるある。

というわけでスタンドアロンで使う場合のREAKTORがブチブチ言わないための設定2つです。

以下、うまくいかなかったり、OSが固まる等の被害があっても責任は取れませんので、あくまで自己責任でお願いします。

1.物理コアひとつで動かす

まず設定方法を。

  1. OSのタスクマネージャを開き、[詳細]タブを選択
  2. リストからREAKTORのプロセスを右クリック
  3. 右クリックで出るコンテキストメニューから[関係の設定]を選択
  4. [プロセッサの関係]ダイアログのリストの[CPU0]以外のチェックを外す([CPU0]だけチェックされている状態にする)
  5. [OK]を選択

これはREAKTORをどのCPUコアで動かすか、の設定です。REAKTOR起動時、毎回しなければならないのがなにげに面倒ですけど。
この例では、CPU0を指定しています。現在のPC用CPUはひとつのCPUの中に物理コアとその余剰で動く論理コアがありますが(ないものもあります)、物理コアを指定するようにします。
※通常、物理コアは0番もしくは偶数番です
※デスクトップ用Core i5のほとんどに論理コアはありません

なお、Instrument1がOut1、Out2に、Instrument2がOut3、Out4にそれぞれ接続されているような場合にどうなるかは確認していませんので、ご了承ください。

以下憶測による説明。

REAKTORのような音声のデジタル信号処理は、1サンプル毎に処理をしなければならないので複数のスレッドで分割して処理することができません。よってひとつの音声のラインはひとつのスレッドで動いているだろう、と予測できます。
しかしOSはOSすべてのスレッドをタイムスライスしてスケジューリングするため、実際にどのコアで動かすかはソフトウェア側からはわかりません(たぶん)。
恐らく、どのコアで動かすにしてもタイムスライスによるオーバーヘッドはそれほど変わらないのでしょうが、どのコアで動かすかによってCPUのキャッシュのヒット率は変わってくるのではないだろうか、と予測しました。
そして、音声の場合はリアルタイム性が重要です。特にASIOのように低レイテンシで動くデバイスに接続している場合はなおさらです。
以上の想定のもと、物理コアひとつで動かしたほうが安定して動くのでは?と予測しました。
ほんとにこんなことが起きているのかどうかは知りませんよ?

2.プロセスのプライオリティを上げる

これは普通に思いつく話ではありますが、まず設定方法から。
  1. OSのタスクマネージャを開き、[詳細]タブを選択
  2. リストからREAKTORのプロセスを右クリック
  3. 右クリックで出るコンテキストメニューから[優先度の設定]→[通常以上]を選択
[高]や[リアルタイム]を選択する場合は、念のためOSが固まっても大丈夫な状態にしてから試してみてください。念のため。
こちらもREAKTOR起動時に毎回設定が必要です。

実際のところ、REAKTORをシングルコアで動かしてみると、物理コアの能力は余るらしく、OSが他にCPUリソースを割り当てたいとき、普通に論理コア側の使用率が上がります。
ということは処理の量の多さが問題なのではなく、ブチブチの原因はリアルタイム性だけの問題?となります。

3.まとめ

シングルコアで動かすようにして、プロセスのプライオリティを上げると、うちの環境では驚くほど安定します。
なぜか同時発音数を増やしてもあまりCPU占有率が変わらない!なぜだ!

コメント