Max6の環境設定をいじってパフォーマンスをあげる:Max/MSP

パフォーマンス問題

現在開発中のコバルト爆弾αΩ用のDVJパッチは、複数の動画と音を同時に扱うため今までになく重く、フレームレート5fpsくらいしかでてなくて泣きそうでした。一応、Max上で見られるMSPのCPU仕様率は10%もいってないし、jit.qt.movie には loadram メッセージを送る事で動画はメモリに直接おいて、ボトルネックになりそうな部分は回避してるつもりなんですが、上手くいっていませんでした。

Max6をMacのアクティビティモニタでみると1つのコアしか使ってないみたいです。CPU使用率は130%前後。ハイパースレッディングが効いてるはずなので、1コア最大200%だとしても70%くらいCPU使えてないように思えます。メモリも8GB空いてる!なにが原因だろうと、まずはマルチコア使うように変更できないかな?とCycling74のフォーラムを漁ってはみたものの、マルチスレッドに関する話題はあるけど、マルチコアは無理みたいな話がありました。お前の実力は、こんなものなのか!?と疑問を持ちつつ探っていると、見つけました!!

解決策

スクリーンショット 2012-12-20 5.24.08

Maxの環境設定(Command + , )の中にあるThrottle関連の設定を変更します。なんとfpsが5~10もUPしました。特にQueue Throttle の値を 10 → 32000 へ上げたのが効いてるみたいです。jit.qt.movie や jit.matrix 重いようだったのですが、qmetro等のロープライオリティな処理をやり切れないまま、スケジュールが回ってたのかと推測できます。とりあえず、これでライブ出来そうです。以下、各パラメーターの適当な意訳。

  • Poll Throttle :CPUのスケジューラーがハイプライオリティイベントにおいて処理するイベントの数
  • Queue Throttle : ロープライオリティで処理するイベントの数
  • Redraw Queue Throttle :UI関連で処理するイベントの数?
  • Refresh Rate:UIの描画レート
  • Scheduler Rate:スケジューラーが呼ばれるインターバル
  • Scheduler Slop:ロープライオリティのスケジューラーが休止してる時間

スケジュールやらスレッドやらVMに関しては、あまり理解してないのですが動いてるので取り敢えず良いかな・・・たぶんPCの種類によってセッティングも変わってくるので、色々試して貰えればと思います!

参考サイト

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です