AMDのCPUとGPUをFPSゲーム用に最適化するための設定(ワンタッチ)

このバッチスクリプトは、AMD製のCPUとGPUを搭載したPCにおいて、パフォーマンスと低遅延を最大化することを目的とした、非常にアグレッシブな最適化設定集です。システムの電力消費、発熱を引き換えに、特にゲーミング性能を引き上げるためのものです。
(スクショ参照)AMDCPUのみ、AMDGPUのみの項目も用意してあり(例えば)AMDCPU + NVIDIAGPU や INTELCPU + AMDGPU などといった掛け合わせた構成でも使用できるようにしています。 使用は自己責任です。
設定をWindows既定値に戻す事ができますが、万が一の為、復元ポイントの作成を推奨しておきます。
上記ディスコサーバーの特殊ロールチャンネル(pKqの秘密部屋)で無料で公開されています。
ただGPUの自動温度制御(サーマルスロットリング)を無効化する項目を含んでいるので、その点を排除した使いやすいバージョンが本記事の設定スクリプトです。(サーバーには置いてません)
ーーーーCPU最適化欄ーーーー
DistributeTimers
タイマー割り込みを全CPUコアに分散させ、特定のコアへの負荷集中を防ぎ、遅延を改善する。DisableTsx
TSX (Intelの機能) に関連するセキュリティ脆弱性対策のパフォーマンス低下を回避します。AMD CPUでは直接関係ありませんが、互換性のためのコードパスを無効化する意図を持つ。(これを無効にすることで安定性が向上、AMD CPUでは基本的に影響はありません。)bcdedit /set numproc
Windows起動時に、PCに搭載されている全てのCPUコアを強制的に認識させる。powercfg ... SYSCOOLPOL 1
冷却ポリシーを「アクティブ」に設定。CPU温度が上がる前にファンスピードを上げて冷却し、性能低下(サーマルスロットリング)を防ぎます。powercfg ... PROCTHROTTLEMIN 100
(AC電源時) CPUの最小クロックを100%に固定。CPUが省電力状態にならず、常に最大性能で待機するため、応答速度が向上し、カクつきが減ります。
(アイドル時でも消費電力と発熱が増加します。)powercfg ... CPMINCORES 100
CPUのコアパーキング(使われていないコアを休止させる機能)を無効化。全コアが常にアクティブになり、遅延が減少します。Reg.exe ... AmdPPM Start 3
AMDプロセッサの電力管理ドライバのスタートアップの種類を「手動(3)」に設定します。これはWindowsのデフォルト値であり、意図的に無効化(4)されていないことを確認する目的です。(基本的にデメリットはありません。)ーーーーGPU最適化項目ーーーー
Reg.exe add "...SystemProfile\Tasks\DisplayPostProcessing"
GPU優先度の引き上げ: GPU Priorityを18 (16進数で0x12)、Priorityを8、Scheduling Categoryを"High"に設定
ディスプレイ関連のタスク(ゲーム描画など)がGPUリソースを優先的に使用できるようになり、パフォーマンスが向上Reg.exe add "...GraphicsDrivers" /v "TdrLevel" ... /d "0"
TDRの無効化: Timeout Detection and Recovery (TDR) 機能を無効にします。TDRはドライバが無応答になった際にリセットする機能ですが、高負荷時に誤作動することがあります。無効にすることで、一時的なフリーズやクラッシュを防ぐ効果が期待できますが、深刻なドライバ問題が発生した際にシステムが停止するリスクもあります。fsutil behavior set memoryusage 2
システムキャッシュの最適化: ファイルシステムのメモリ使用量を、デフォルト値よりもシステムキャッシュを優先する設定(2)に変更。
ディスクアクセスの多いアプリケーションのパフォーマンスが向上。Reg.exe add "...Class{4d36e968...}\0000" /v "KMD_EnableComputePreemption" /d "0"
コンピュートプリエンプションの無効化: GPUのコンピュートタスク(計算処理)の割り込み(プリエンプション)を無効にします。
グラフィックタスクが中断されにくくなり、フレームレートの安定化に。Reg.exe add "...0000\UMD" /v "FlipQueueSize" /d "3100"
フリップキューサイズの調整: GPUがレンダリングのために事前に準備しておくフレーム数(フリップキュー)を調整します。値を"1"(3100)に設定することで、入力遅延(インプットラグ)を低減させる。Reg.exe add "...0000\UMD" /v "Main3D" /d "3100"
3Dパフォーマンス設定: Main3Dの値を調整し、3Dアプリケーションのパフォーマンスを優先する設定に変更。Reg.exe add "...0000\UMD" /v "ShaderCache" /d "3200"
シェーダーキャッシュの有効化: シェーダーキャッシュをAMD側で最適化された状態(有効)にします。一度コンパイルしたシェーダーを再利用することで、ゲームのロード時間短縮やカクつき(stutter)の軽減に。Reg.exe add "...0000\UMD" /v "Tessellation_OPTION" /d "3200"
テッセレーションの最適化: テッセレーション(ポリゴンを細分化して滑らかに見せる技術)をAMD側で最適化された設定にします 。Reg.exe add "...0000\UMD" /v "Tessellation" /d "3100"
テッセレーションレベルの調整: アプリケーション設定に依存せず、テッセレーションのレベルをドライバ側で制御する設定。Reg.exe add "...0000" /v "KMD_FRTEnabled" /d "0"
Frame Rate Targetの無効化: AMDのFrame Rate Target Control (FRTC) 機能を無効。これはフレームレートに上限を設ける機能であり、無効にすることでGPUの性能を最大限に引き出します。Reg.exe add "...0000" /v "DisableDMACopy" /d "1"
DMAコピーの無効化: Direct Memory Access (DMA) コピーを無効に。特定の状況下でパフォーマンスを向上させる可能性がある設定です。Reg.exe add "...0000" /v "StutterMode" /d "0"
スタッターモードの無効化: カクつき(stutter)を軽減するための特定のモードを無効。他の最適化との兼ね合いで、無効にする方が安定する場合があります。Reg.exe add "...0000" /v "Disable...PowerGating" /d "1"
各種パワーゲーティングの無効化: GPU内部の各機能ブロック(SAMU, UVD, VCE, Drmdmaなど)への電力供給を常時ONにする設定。省電力機能を無効にすることで、各機能がスリープから復帰する際のわずかな遅延をなくし、パフォーマンスの安定化を図ります。Reg.exe add "...0000" /v "EnableAspmL0s" / "EnableAspmL1" /d "0"
ASPMの無効化: PCIeの省電力機能であるActive State Power Management (ASPM) を無効に 。
PCIeリンクが省電力状態に移行しなくなるため、遅延が減少し、安定性が向上する。Reg.exe add "...0000" /v "EnableUlps" /d "0"
ULPSの無効化: Ultra-Low Power State (ULPS) を無効にします。これは主にマルチGPU構成(CrossFire)でアイドル時に片方のGPUの電源をほぼ完全にオフにする機能で、無効にすることで復帰時の遅延や不安定さを解消します。シングルGPU環境でも無効が推奨。Reg.exe add "...0000" /v "PP_SclkDeepSleepDisable" /d "1"
SCLKディープスリープの無効化: GPUコアクロック(SCLK)がディープスリープ状態に入るのを防ぎます。
アイドル状態からの応答性が向上します。Reg.exe add "...0000" /v "PP_ThermalAutoThrottlingEnable" /d "0"
サーマルスロットリングの無効化: GPUの温度に基づく自動的なクロック低下(サーマルスロットリング)を無効にします。高温時でもパフォーマンスを維持しようとしますが、GPUの温度管理にはより注意が必要になります。GPUの自動温度制御(サーマルスロットリング)を無効化をする(PCの冷却環境に依存する)バージョンとGPUの自動温度制御(サーマルスロットリング)を有効のまま、その他最適化を行う2バージョン置いておきます↓
ここから先は
¥ 600
この記事が気に入ったらチップで応援してみませんか?
