Skip to content

Instantly share code, notes, and snippets.

@td2sk
Last active November 2, 2025 11:35
Show Gist options
  • Save td2sk/eaaabdcd2fa0516eda5dc56c21c9d870 to your computer and use it in GitHub Desktop.
Save td2sk/eaaabdcd2fa0516eda5dc56c21c9d870 to your computer and use it in GitHub Desktop.

TL; DR

  • GPU は個体差を吸収するため、やや高めの電圧設定で動作している
  • 電圧設定を下げることで、若干のピーク性能劣化(-5%)と引き換えに大幅な省電力化(-20%)が期待できる
  • 設定によってはクラッシュやフリーズの可能性があるため、自己責任で行うこと
    • Overclock と違って永続的な故障リスクは低いと思われる。ダメなら戻そう

電圧設定の考え方

消費電力は電圧の二乗に比例する。そのため、電圧を下げれば消費電力も下がる。 しかし、電圧を下げすぎると高いクロック周波数で正常動作しなくなる。

半導体には製造時のブレによる個体差があるため、メーカーは確実に動くかなり高めの電圧設定で出荷している。 また、限界まで性能を引き出すため、超高負荷時にはより高い電圧に引き上げられて自動的に Overclock される。 このようなときには僅かな性能向上のために大きな電力増が発生する。エネルギー的にコスパが悪い1

この電圧設定を手動で下げることで、省電力化が見込める

  • 低い電圧のまま高いクロックで動く
  • 超高負荷時にコスパの悪い Overclock をさせない

事前準備

必要なソフトウェアをインストールする

ツール名 用途 備考
MSI Afterburner GPU 電圧設定変更のため MSI製でないグラボでも使える
3DMark Demo 設定後の動作・性能確認のため
GeForce Overlay NVIDIA App同梱。表示設定のみ実施(後述)

Geforce Overlay 設定

Alt+Z -> 統計情報 に移動し、統計情報ビューを 詳細設定 に変更 image その後、Alt+R で画面右上に表示されるようになる。もう一度Alt+Rで非表示

低電圧化設定

ここからは実際に低電圧化を行う。

事前計測

電圧を下げると性能も下がる。設定前後でどの程度変化したか、またそれは許容できるのかを判断する必要がある。

そのため参考データとして 3DMark Demo Steel Nomad ベンチで以下を計測しておく

項目名 説明 参考: 筆者環境(RTX5090)での値
ベンチスコア 3DMark Steel Nomad デモのトータルスコア 14100
GPU周波数 ベンチマーク実行中のGPUクロックの最大値 2650 [MHz]
消費電力 ベンチマーク実行中の最大消費電力 575 [W]
GPU電圧 ベンチマーク実行中のGPU最大電圧。3DMarkで計測できないためOverlayで目視確認 990mV

電圧設定

Afterburner を使い、電圧とGPU周波数のバランス(電圧カーブ2)を調整する。

  1. Afterburner を起動し 設定 > 全般で以下を変更
    • 電圧制御のロック解除
  2. Curve Editor をクリック
  3. 調整 (後述)
  4. Apply をクリック
  5. Save をクリック後、保存先にしたいプロファイル番号をクリック

調整のやり方

  1. 最大電圧・最大目標周波数を決める

    • 最大電圧は事前に計測した3DMark実行時の最大値から10%減、最大目標周波数は3DMark実行時の最大値をそのままを採用するといい感じ
    • あるいは GPU のモデル名 + 低電圧化(undervolt) などで検索し、他の人の事例を調べて決める
    • 今回は上記記事を参考に 電圧: 990mV → 875mV、周波数: 2650 → 2600MHz を選択
  2. アイドル時GPU電圧の1つ右の点から最大電圧に決めた点をShift+ドラッグで複数選択後、最大電圧の点をドラッグして最大目標周波数まで引き上げる

    • アイドル時GPU電圧が800mVの場合、一つ右の点は810mV
image

これで最大電圧までの設定は完了。以降の手順でより高い電圧を抑制する

  1. Shift + 左ドラッグの範囲選択で、先程選択した電圧点より右の範囲を全選択
  2. 選択範囲内の適当な点を1つ選び、下にドラッグ - 最大電圧の点より下に来るようにする
image
  1. メインウィンドウの Apply を選択 - 最大電圧より右の点が最大電圧と同じ高さに自動修正される
image
  1. 3DMark Steel Nomad デモを実行し、安定性、スコア変動を確認
    • 電力削減と性能低下のバランスがいい感じになり、3DMark 実行時にエラーや画面乱れがないことを目標にする
    • やり直す場合、先に Afterburner の Reset をクリックして初期状態に戻すこと

結果

筆者環境(RTX5090) での設定前後の比較

設定名 ターゲットクロック (MHz) ターゲット電圧 (mV) 実測 平均クロック (MHz) 実測 ピーク電圧 (mV) 実測 最大消費電力 (W) 備考
定格 (Stock) (GPU Boost 自動) (GPU Boost 自動) 2655 990 575
低電圧化 設定1 2572 875 約2460 875 約450 性能7%減
電力21%減
  • 消費電力は21%低下
  • ピーク時性能(クロック)およそ7%の低下
    • 常にピーク時性能で動くわけではないので、実影響はより小さ

僅かな性能と引き換えに電力を大幅減できた

自動反映

このままでは OS 再起動時にリセットされてしまう。 以下手順で毎回自動反映されるようにする

  1. MSI Afterburner を起動
  2. 設定 > 全般で以下を変更
    • Windowsと一緒に起動
    • 最小化の状態で起動
  3. 設定 > プロファイル -> 2D/3Dプロファイルとも設定したプロファイルを選択

備考

電圧全体をバイアスする方式

参考にした Reddit の事例 では、875mV 以下の全範囲を一括で持ち上げる方法が紹介されている。 この方法は設定が簡単で、電圧カーブの不思議な挙動に上手く対応できていると思われるが、アイドル時クロックが200MHzから1200MHzに上がる副作用がある。 image

アイドル時は回路がスリープ状態になるため3クロックが上がっても消費電力に悪影響はないと思われるが、なんとなく気持ち悪いので本記事の手順では810~875mVを部分的に引き上げる方法を採用した

編集履歴

2025/11/02

  • 公開
  • アイドル時クロックを抑える手順に修正

Footnotes

  1. 最近の Intel の CPU が爆熱な理由も同じで、僅かなクロック向上のために膨大な電力を使っているから。 クロックを適当な値で制限することで、若干の性能低下と引き換えに発熱は劇的に減る

  2. 電圧カーブとは、横軸に電圧 (mV)、縦軸にクロック (MHz) をとったグラフ。 GPU がどの電圧でどのクロックまで動作するかを示す。低電圧の方が省エネだが、下げすぎると高クロックでは正常動作しなくなる。

  3. クロックゲーティングと呼ばれる技術。CPUでも行われているが、並列度の大きいGPUでは特に有効

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment