【FPS・アクションRPG】PCゲームを安定化・軽量化する設定

PCゲームでカクつきフレームレートが出ない等の問題を抱えている人必見です。
なお、この記事で紹介している設定は全て自己責任ですのでご了承ください。(全て執筆者が試している設定しか紹介していません)

また、ここで紹介している設定は自分が2年ほど前から現在までで調べたものです。よって、情報が古く、現在のPCでは効果がないというパターンがある場合があります。その時はごめん。
主にReddit、YouTubeを参考にしています。


前提条件

執筆者のPCスペック詳細は
i5-12600KF → i7-14700KF
GeForce RTX 3060 Ti → RTX 4070 Ti Super
・RAM32GB(8GBx4) 2666MHz
です。
(執筆時からCPUとGPUをアップデートしましたが、大体同じです)
よって、Windows11NVIDIA製GeForce系GPUintel製Core iシリーズCPUの環境で有効です。
NVIDIA設定はもちろんNvidia製GPUのみ有効ですが、CPUの設定はもしかしたらAMD製RYZENシリーズでも有効になる場合があります。

Windows設定

設定アプリ

これです
  • ゲーム→Xbox Game Bar→オフ
    ゲーム→キャプチャ→バックグラウンド録画をオフ
    ※Win11の場合は検索窓に「reg」などと打ってレジストリエディタを開き、コンピューター\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\GameDVRへ行き、「AppCaptureEnabled」の値を0にする。
    また、コンピューター\HKEY_CURRENT_USER\System\GameConfigStoreへ行き、「GameDVR_Enabled」の値を0にする。
    この方法では無効化できなくなりました。2024年6月現在で有効な方法を追記します。
    Windows PowerShell (ターミナル) を管理者で実行→「Get-AppxPackage Microsoft.XboxGamingOverlay | Remove-AppxPackage」このコマンドを実行→アンインストール完了です

  • ゲーム→ゲームモード→オン

  • ゲーム→関連設定の「グラフィックの設定」→ハードウェア アクセラレータによるGPUスケジューリング→オン

  • 同じ場所のグラフィックスのパフォーマンスの基本設定からインストールされているゲームの実行ファイル(.exe)を追加し、「高パフォーマンス」にする。

  • 同じ場所の可変リフレッシュレートがある場合はオフ

コントロールパネル

  • ハードウェアとサウンド→電源オプション→高パフォーマンス

  • 高パフォーマンスの「プラン設定の変更」→詳細な電源設定の変更→プロセッサの電源管理→最小・最大のプロセッサの状態を両方とも100%

  • システムとセキュリティ→管理ツールの中の「ドライブのデフラグと最適化」→スケジュールされた最適化をオフ

Core Parkについて

編集中

Nvidiaコントロールパネル

Microsoft Storeからダウンロードできます。

3D設定の管理

(雑でごめん)

まずはグローバル設定を画像のように設定します。

  • 「スレッドした最適化」は自動でもOKです。

  • 「モニターテクノロジ」はG-SYNCを使いたい場合はここで「G-SYNCとの互換性」をオンにしてもいいですが、ゲーム以外のアプリを使う時にリフレッシュレートが60Hzなどに下がってしまう場合があります。後述するNvidia Inspectorを使う方法をおすすめします。

  • 低遅延モードはとりあえずここではオフにします。

  • 垂直同期も同様です。

  • 電源管理モードは必ず「パフォーマンス最大化を優先」に設定してください。

競技ゲーム(FPS等)向けの設定
プログラム設定→追加からゲームの実行ファイルを追加します。ゲームを起動してからこの作業をすると素早く簡単に追加できます。

  • 「モニターテクノロジ」を固定リフレッシュレート

  • 「低遅延モード」をオンまたはオフ
    この低遅延モードは、ゲーム中のGPU使用率が98%以上など高い場合はオンまたはウルトラにすると遅延が減りますが、カクつきは改善されない場合があります。また、GPU使用率が高くない場合にウルトラにすると逆に遅延が増えてしまいます(詳しくはYouTubeで「nvidia null latency」で検索してみてください)。Nvidiaはこの問題を解決する「Nvidia Reflex」という機能を追加しました。これはゲームに組み込まれている機能なので、対応しているゲームでのみ使用することができます(Valorant、Apex、Fortnite、R6Sなど)。オンでレンダーキューを1に保ちます。簡単に説明すると、今までカクつきを抑えるためにフレームレートを安定する値で制限していたのを、フレームレート無制限でもまるで制限しているかのように動く機能です。動的フレームレート制限と言えます。オン+ブーストは、ゲームがCPU依存の場合に下がりがちなGPUのクロックを常に最大で動かします。これはRTX3000番台以上でのみ有効です。また、Nvidia Reflexは低遅延モードの設定をオーバーライド(上書き)します。

    説明が長くなりましたが、まとめると
    ・ゲームがNvidia Reflexに対応している場合は、それをオンオン+ブースト
    ゲームがNvidia Reflexに非対応の場合は、GPU使用率が高ければ低遅延モードをオンウルトラ、またはフレームレートをちょうどいい値(GPU使用率90%以下)で制限させる。GPU使用率が低ければオンオフ

  • 「優先的に使用するリフレッシュレート」を利用可能な最高値

  • 「垂直同期」をオフ

たまに、フレームレート制限をNvidiaコンパネで設定している人がいますが、こだわりがないのならゲーム内で制限することをおすすめします。
外部ツールだと他にRTSSがあり、Nvidiaコンパネよりかは遅延が抑えられますが、一番遅延を抑えられるのはゲーム内です。

その他のゲーム(アクション系・RPG系等)向けの設定

  • 「バーチャルリアリティレンダリング前フレーム数」を3Dアプリケーション設定を使用する

  • 「モニターテクノロジ」をG-SYNC対応モニターであればG-SYNCとの互換性
    なければ固定リフレッシュレート

  • 「優先的に使用するリフレッシュレート」を利用可能な最高値

  • 「垂直同期」をオン

  • 「最大フレームレート」
    ゲーム内でフレームレートが制限できればそれで、なければここで制限します。
    G-SYNCはモニターの最大リフレッシュレートより低いフレームレートで機能するので、144Hzモニターの場合は141FPS以下、240Hzモニターの場合は237FPS以下といったように、モニターのHzから3引いたFPS値であればOKです。
    大抵のARPGはフレームレートが高く出ないものが多いので、個人的には120FPS、60FPSくらいがおすすめです。ゲームによっては60FPS以上出すとキャラの動きが速くなる、カメラがバグるなどの問題が少なからずあるので、120FPSで制限してバグが出たら60FPSなどに落とすといった感じでいいと思います。

Surround、PhysXの設定

PhysX設定のプロセッサを、使っているGPUにします。

解像度の変更

メインモニターのリフレッシュレートを最大Hzにします。
サブモニターがある人は60Hzとかでいいと思います。

メインモニター
サブモニター

カラーはNVIDIAのカラー設定を使用にします。このとき、ダイナミックレンジを必ずフルにしてください。

デスクトップのサイズと位置の調整

全画面表示GPU上書きするにチェックします。
スケーリングなしでディスプレイにしたほうが遅延が少なくなるという説もありますが、体感出来るほどの差はないと思います。
また、この設定にするとデュアルモニター環境での謎にFPSが落ちる問題が解決する場合があります。自分はこの設定で解決しました(たぶん)。

NVIDIA Profile Inspector

こちらのURLから最新バージョンをダウンロードしてください。

起動して最初の画面はグローバル設定になります。左上のProfilesのところでプログラムを指定して設定することが出来ます。

G-SYNC

前述したG-SYNCの設定は、あらかじめNVIDIAコントロールパネルの「G-SYNCの設定」の互換性を有効化にチェックを入れてから、2-Sync and Refreshの「GSYNC-Application State」をFixed Refresh Rateにします。これであとはG-SYNCを使いたいゲームにだけNVIDIAコンパネでG-SYNCを有効にして、他のアプリでG-SYNCが自動でオンになることはなくなります

・一部モニターで動作がおかしくなる?
モニターをDell S2522HGに新調したら、上記の設定時にゲームを起動すると画面が数秒間暗転(リフレッシュレート変更)するようになりました。これはグローバル設定(GLOBAL_DRIVER_PROFILE)で「GSYNC - Application State」の項目を「Force off」にすると解決します。

この記事が気に入ったらサポートをしてみませんか?