こんにちは、自制心ゼロで万年金欠のゆびきたすです!
やっぱり強力な電力消費のRTX4090。
そもそもRTX4000シリーズは3000で流行った低電圧化は必要ない?
RTX3090や3080は発売当時からMSI AferBurnerを使用して低電圧化が盛んに行われていました。
自らもネットの情報を元に試行錯誤して、最終的には一番妥当と言われる値に行き着き同じ設定のままの2年ほど問題は発生せず快適に使用していました。Afterburnerによる設定方法は過去の記事で解説しています。
(Gigabyte Aorus RTX3090 Master(rev.1)で8ピン×2個のモデル)
そしてRTX4090を思い切って購入した現在。
噂通り高い性能に満足しつつもデフォルトでRTX3090を軽く超える消費電力はやはり何とかしたいと思いに駆られます。
頼みの低電圧化の情報は、主に海外サイトでよく見かけますが、AfterBurnerでの設定方法は同じながら効果のばらつきからか若干ハードルが上がっているようにも見えます。
そのため低電圧化よりもパワーリミット(以下PL)の制御の方が安全で簡単、そして効果的との情報が多いですね。
3090のころはPL制限には歯牙にもかけませんでしたが、今回MSI Afterburnerなどの外部ソフトウェアをインストールすることなくリミット制限を与えてみます。
簡単に言うとドライバーに付属してインストールされるプログラムとWindowsの一機能で行ってみたいと思います。
Afterburnerとの違いは
- GUI(グラフィカルな操作画面)無し
- %ではなく実際の消費電力値「W(ワット数)」を指定
- Windowsのタスクスケジュール機能使用
という3点です。必要最低限でできることに越したことはありません。
因みにタスクスケジュールを使う理由は、後述します。
RTX4090の電力制限初期値の確認
Gigabyte Aorus RTX4090 Masterの供給電力値は450Wと4090シリーズ製品としては一般的な数値です。
…とは言え例えばGTX1080Tiなど一昔前のグラフィックカードから比較すると倍近い、ものすごい電力値です。そもそも電気代を気にするカードではありませんが、発熱のことを考慮すると省電力の方が印象は良いですね。
まずデフォルト状態の消費電力値を確認するには以下のコマンドを使います。なおSystem32フォルダのnvidia-smi.exeは、NVIDIAのグラフィックドライバーのみをインストールすると自動的に入ります。
また確認のみの場合には管理者権限での起動は不要です。
またコマンドプロンプトまたはPoweShellの両方で可能です。
nvidia-smi
入力後エンターキーを押します。すると以下のような表で各種諸元が表示されます。
上記の黄色の枠の部分がデフォルトの電力値でPL450Wであることが分かります。
なおいくつか方法はありますが、コマンドの開き方は以下の通り。
コマンドプロンプトの場合 (Win10/Win11共通)
- Win10なら画面左下、Win11では画面中央下の検索窓に「
cmd」と入力 - 開いた右の詳細ウィンドウ内で「開く」または「管理者として実行」をクリック
- 開いたコマンド入力画面に「
nvidia-smi」と入力してエンター押下
PoweeShellの場合 (Win10/Win11共通)
- Win10なら画面左下、Win11では画面中央下のWindowsマークを「右クリック」
- 開いた一覧から「WindowsPowerShell」もしくは「「WindowsPowerShell(管理者)」をクリック
- 開いたブルーの画面に「
nvidia-smi」と入力してエンター押下
タスクスケジューラで起動ごとにパワーリミット/PL制限を設定
実際のPL設定には管理者権限で起動したコマンドプロンプトもしくはPowerShellで引数を指定してnvidia-smi.exeを実行します。
(他にバッチファイル(.bat)を作ってそれをタスク登録しても同じことができます)
しかしコマンドを実行しても、PLの指定値は起動時中のみ有効で、再起動するとPL値がデフォルトに戻ってしまいます。
そこでタスクスケジューラを利用し、OS起動するごとにバックグランドで先のコマンドを毎回自動的に実行します。
下記に一例として記載しておきます。
step
1コントロールパネルからタスクスケジューラを起動
- コントロールパネルをカテゴリ表示(開き方は任意)
- 「システムとセキュリティ」をクリック
- 最下段の「タスクスケジュール」をクリック
コントロールパネル自体はWindowsタスクバーの検索窓に「コントロール」と入力しても表示可能。
カテゴリ表示に切り替え(慣れた方法でOK)、大見出しの「システムとセキュリティ」をクリック
最下段の「タスクスケジュール」をクリック。
ここから設定を開始します。
step
2タスクの作成を行う
- 右欄の「タスクの作成」をクリック
- 「全般」タブで【ユーザーがログオンしているかどうかにかかわらず実行する】と【最上位の特権で実行する】にチェック
※Windows起動時のパスワードを設定していない場合は「パスワードを保存しない」にもチェック - 「トリガー」タブでタスクの開始の指定を「スタートアップ時」にする
- 「操作」タブでnvidia-smi.exeを指定
- 同ウィンドウ内の「引数の追加(オプション)に【-pl ###w】と指定
(###には目標の消費電力値をワット数で指定)
以下画像で5つの手順を説明します。
三分割ウィンドウの右欄から「タスクの作成」をクリック
タスク設定画面が現れるので、「全般」タブのまま最上段に任意のタスク名を記入してください。
続いて画像のように2ヶ所にチェックを入れます。
なおOSのパスワードに関するチェック項目は後述します。
続いて上部「トリガー」へ移動します。
左下の「新規」ボタンをクリックして新しいトリガーウィンドウを出します。
タスクの開始の項目のプルダウンから「スタートアップ時」を選択して後右下の「OK」を押下。
次に上部タブを「操作」へ切り替え。
左下の「新規」ボタンをクリックし、「新しい操作」ウィンドウを出します。
「操作」はそのままで、1つ下の「プログラム/スクリプト」項目の「参照」をクリックします。
ここで「nvidia-smi.exe」をしています。
通常は
C:\Windows\System32\nvidia-smi.exe
という階層にあると思います。
更にその下の「引数の追加」に実際のパワーリミットの数値を記入します。単位はワット(w)です。例えば350Wならば以下のとおり。
【 -pl 350 】
plの後ろに半角スペースがあります。
OKを押して確定。
タスクの作成ウィンドウに戻りますが、上部タブの「条件」と「設定」はそのままです。
最後のタスクの作成ウィンドウの右下の「OK」をクリックして完了です。
なおOKボタンを押すとユーザー名とパスワードを要求されます。
もしWindowsの初期設定でパスワードを設定していない場合、パスワード欄を空にしたまま確定することができません。
その場合「全般」タブの「パスワードを保存しない」にチェックを入れます。セキュリティ的にはパスワード設定してあげる方が良いです。
この流れでタスク登録は完了です。
step
3タスクの動作確認
<確認>タスクライブラリの一覧から、今回作成したパワーリミットのタスクを右クリックから「実行」します。
コマンドプロンプトやPowerShellで【nvidia-smi】を起動し表示された値が反映されているか確認をします。
因みに上の画像は仕事用PCのスリムPCに装着したGTX1650LPです。RTX、GTX関わらずこの技が使えます。
nvidia-smi.exeでパワーリミット/PL制限設定、その効果
2023年9月に発売されたStarfieldと、パス・トレーシングのヘビー級の重さの影modを適用したマインクラフトで検証してみます。
FrameView(nVIDIAのソフトウェア)のログを見ていると、Starfielプレイ中の消費電力はPL無制限(ファクトリー制限値:450W)時で320Wほどです。
※DLSS3 modなどを適用済なため多少負荷が低いかもしれません
Nvidia Framevieというソフトでログを拾ってみました。出力されたcsvでは以下の通りでした。
取り合えず試しに300WをターゲットにPL制限でゲームをプレイしてみました。
300W制限だと450Wの67%ほどのPLに該当します。
Starfieldで重めとされるアトランティス内を走り回りってログを取ってみました。
DLSS3.0 mod+ドライバー537.42、解像度スケール66%、V-Sync OFF(テスト時室温29.5℃)
解像度は3,840×1,600(ウルトラワイドWQHD+)で4Kのおよそ75%、WQHDのおよそ167%のピクセル数。
そして古めの静音系ケース Define R6という天板は解放していない窒息気味な状態でトライ。
csvファイル出力された各数値は下画像の通り。
- 450W時 平均フレームレート:145fps(1%Low 96fps)平均温度66℃
- 300W時 平均フレームレート:140fps(1%Low 99fps)平均温度62℃
GPU温度が-4℃の62℃に。1%Lowのfpsがアップしているのが謎ですがたまたまでしょう…
高め室温の中で連続してテストしたのですが、平均ではおおむね3.4%のfps低下で済みました。若干の温度低下の恩恵もありますね。
またJAVA版マインクラフトではかかなり重いと言われる影mod【SEUS PTGI HRR 3】を使用してみました。
フレームレート無制限(GPU使用率96%)では60℃強だったものが58℃へと若干下がりました。
JAVA版マインクラフト 1.20.1において軽量化modであるOptifineを利用してSEUS PTGI HRR3を適用。
パス・トレーシングを謳ったmodで非常に重いシェーダーです。
描画優先設定、(疑似的な)レイトレOFF、描画距離16チャンクかつ演算距離10チャンクで、特にCPU負荷が高いわけでもない設定です。
テスト時室温は同じく29.5℃。
ワールドが多種多様で諸条件が揃いにくいマイクラですが、SuyaSuya_Frogさんの「APEX LEGEND フラグメントイースト/フラグメントウエスト」という配布ワールドで走り回ってみました。動くmobがいないためCPUの負荷は低いです。
※CPUに関しては、平均クロックは5.4GHzで温度は45℃、パッケージパワーは21Wとかなり低め
- 450W時 平均フレームレート:139fps(1%Low 74fps)平均温度62℃ (平均消費電力367W)
- 300W時 平均フレームレート:137fps(1%Low 65fps)平均温度58℃ (平均消費電力298W)
無制限だとスタフィー超えの367Wです。
300Wに制限するとフレームレートはほんの少し下がりますが、GSyncの効果もあってか体感の差はほぼありません。
温度は同じく4℃ほど低下しました。
なお【SEUS PTGI HRR 3】内の設定で疑似的なレイトレ設定がいくつかありますが、こちらをすべてONにすると更に10fps前後低下します。
マイクラはチャンク数や計算距離、またmod内の設定で負荷を青天井に増減できるのでCPUやグラフィックのベンチマークツールとしてかなり面白いです。(ほぼバニラ状態でもCPUボトルネックを誘発するとRTX3090+13900Kで50fps以下になります)
以上通常AfterBurnerなどの外部ソフトのインストールが必要ですが、簡単にPL制限を行う方法を紹介しました。
では!
評判の悪いコネクタですが、とにかくカードの奥行が162mmもあるのでL字化するコネクタは必須でした。
(ケース内のCPUクーラーの理論最大高は185mmまで)
人柱的なことを覚悟の上購入したの以下の製品です。怪しすぎな商品ですが問題なく稼働しています。
2、3時間プレイして触ってみるとほのかに暖かいくらいです。
2週間ほどいろいろな負荷をかけてみましたが、450W未満においてコネクタは無事のもよう(笑
万が一解けたら当サイトで報告します。
4090シリーズの中でもヒートシンクが特に巨大なAorus Masterです。
弁当箱だとかいろいろ揶揄されますが好きなのを買ったら幸せがそこにありました。