この記事は2023-01-18に、MODO 16.0v3 (Windows用/日本語版)の仕様をもとに書かれました。
■このTIPSの要点
以下のショートカットを作成します。
16進数のパラメータは、各CPUコアのON/OFFの状態を16進数で表しています。
C:\Windows\System32\cmd.exe /c start "" /affinity 0x3ffff "C:\Program Files\Foundry\Modo\16.0v3j\modo.exe"
■何となくModoが不安定・・・。
何となくModoが不安定という事があります。
感覚的には負荷をかけたタイミングでModoが突然死してCrash Reporterが頻発し、その度に「ギャーーーッ!!!」となってヤル気を削がれ、仕舞には「今日は休み!」と思ってふて寝するやつです。
こういった場合、
実はCPUの発熱が原因でModoが不安定になっているのかもしれません。
「いやいや、発熱でシステム全体が不安定になるのならともかく、1アプリだけが不安定になるなんて、おかしいだろ!?」と思われる方も多いと思います。
ですが、何故かModoだけ不安定になるんですよね。これは事実なので仕方がありません。
発熱が原因と思われる場合、機器に詰まったホコリの掃除とかハードウェアの買い替えが一番の対策ですが、今回はソフト的な設定変更でこの発熱を抑えてみたいと思います。
■CPU温度が原因かを見極める
これを書いている時点で、筆者はAMDのRyzen9 3900Xという12コア24スレッドのCPUを使っているのですが、我が家の場合、この環境でCPU温度が72℃に達してしばらく経つとModoが落ちます。
他のアプリは正常に動いているので「何で?」と思いたくなるのですが、マザボのユーティリティソフトを見ながら、Modoのプレビュー画面をぐりぐり動かし続けたり、重いレンダリングを課すと、72℃に達した時点で確実にModoが落ちるのです。
上記はマザボのユーティリティソフトの例ですが、温度表示が出来るフリーウェアもあるので、そういったツールを使用するとCPUの発熱状態が分かるので、原因の切り分けが出来ると思います。
さて、温度上昇に関しては、思い当たる原因があります。
簡易水冷装置が中に入らない古いPCケースを使っているので、いまどきCPUを空冷で冷やしているのです。
通常は安定動作しているのですが、Modoが高負荷状態になるとCPUの発熱が問題になってしまいます。
上記の画面の例では、CPU温度が低い段階からCPUファンの稼働設定を100%にしているので、これ以上冷やしようがない状態です。
この場合、本来の正解は「簡易水冷装置を導入してCPUをガンガン冷やす」ですが、気に入ったPCケースがなかなか無いんですよね。
ハードウェアの買い替えをしないなら、なんとか裏技で誤魔化すしかありません。
■暫定対処:Modoが使用するCPUコア数に制限をかけて発熱を抑える
「CPU温度が高いなら、高くしなければいいじゃない」という事で、Modoが使用するCPUコア数に制限をかけてみます。
マシン本来の性能は発揮できなくなりますが、アプリケーションがすぐに落ちてしまうよりはマシです。
稼働するCPUコア数に制限をかければ、CPUの表面積の温度が下がるハズ!
今回の方法ではショートカットファイルを作成します。
通常起動のModoのアイコンとは別に、コア数制限のModoのショートカットを作成する事で、いつでも好きな方でModoを起動する事が出来ます。
(Modoを通常起動した場合、いままで通り全CPUコアを使用するモードで動作します)
さて、作り方ですが、まず「コア数制限されたModo」用のショートカットを作成する必要があるので、
エクスプローラーを使ってC:\Windows\System32フォルダを開き、cmd.exeをコピーしてデスクトップにショートカットとして貼り付けます。
デスクトップにcmd.exeのショートカットを貼り付けたら、ファイル名を「Modo(CPUコア限定起動)」とでも変えておきましょう。
次に、右クリックを押下してプロパティを開き、ショートカットタブを開きます。
■変更点
1) リンク先を以下のように変更します。
C:\Windows\System32\cmd.exe /c start "" /affinity 0x3ffff "C:\Program Files\Foundry\Modo\16.0v3j\modo.exe"
[※ユーザー環境によってパラメータが異なります。(後述の注意点とテーブル表を参照のこと)]
2) 実行時の大きさの項目を
「最小化」
に変更します。
こうしておくと、アイコンをダブルクリックした時にコマンドプロンプトの黒画面が表示されないので、ストレスにならないです。
3)
アイコンの変更
ボタンを押下して、modo.exeのある場所(%ProgramFiles%\Foundry\Modo\16.0v3j\modo.exe)を指定します。
こうする事でショートカットのアイコンをModo標準のアイコンに変更する事ができます。
■注意点
1)
事前にご自身のシステムのCPUコア数を把握して下さい。
タスクマネージャーのパフォーマンスタブのCPUグラフ上で右クリックし、グラフの変更>論理プロセッサを選択する事で、CPUのコア数が分かります。
CPUのコア数の上限値は/affinityオプションのあとに16進数で指定しますが、ご自身のシステムで設定可能な値を把握したうえで、後述のテーブル表の値を参考に適切な16進数を指定して下さい。
2) Modoのデフォルトのインストールパスにはバージョンナンバー(上記リンク先例では16.0v3j)が含まれているため、
Modoのバージョンが変わるたびに、ショートカットのパスを再設定する必要があります。
modo.exeのパスは環境設定されていないので、Modoをバージョンアップする度に毎回ショートカットの修正が必要になります。
CPUコアの上限数 |
16進数の設定例 |
1
| 0x00000001
|
2
| 0x00000003
|
3
| 0x00000007
|
4
| 0x0000000f
|
5
| 0x0000001f
|
6
| 0x0000003f
|
7
| 0x0000007f
|
8
| 0x000000ff
|
9
| 0x000001ff
|
10
| 0x000003ff
|
11
| 0x000007ff
|
12
| 0x00000fff
|
13
| 0x00001fff
|
14
| 0x00003fff
|
15
| 0x00007fff
|
16
| 0x0000ffff
|
17
| 0x0001ffff
|
18
| 0x0003ffff
|
19
| 0x0007ffff
|
20
| 0x000fffff
|
21
| 0x001fffff
|
22
| 0x003fffff
|
23
| 0x007fffff
|
24
| 0x00ffffff
|
25
| 0x01ffffff
|
26
| 0x03ffffff
|
27
| 0x07ffffff
|
28
| 0x0fffffff
|
29
| 0x1fffffff
|
30
| 0x3fffffff
|
31
| 0x7fffffff
|
32
| 0xffffffff
|
という訳で、Modoが使用するCPUコア数の上限値を24コア → 18コアに制限してみました。
この状態でガンガン長時間レンダリングしてもCPU温度は67℃くらいで動作してくれます。
夏場になるともう少し温度が上がるかもしれませんが、72℃の閾値を超過せずに済みそうです。
余談ですが、CPUコアの上限値を例えば18コアに設定する場合、パラメータはテーブル表の0x3ffffとは限らず、0xff3ffでも、0xf7f7fでもよかったりします。
CPUのコア数ぶんのビット幅で、0(コア不使用)、1(コア使用)の2進数の情報を表し、それを16進数で表記しているにすぎません。
CPUのダイの構成や使用しないコアの物理的配置を考慮するなら、もっとパラメータを追い込む事が出来ますが、そこまでするなら素直にハードウェアを買い換えて冷やしましょう。:-)