ゲーム中の急な FPS 低下: 本当の原因を見つける

下がったまま戻らないフレーム レートはカクつきとは別の問題で、その原因の候補は短いリストに収まります。起きている最中に 2、3 個の数値を見れば、それぞれを見分けられます。

さっきまで 140 でした。今は 70 で、ゲームを再起動するまでそのままです。あるいは、いったんやめてマシンを冷まし、戻ってくると元に戻っています。

これはカクつきとは別の問題で、2 つを混同すると何週間も無駄にします。カクつきは、ほかは問題のない実行の中の 1 つの遅れたフレームです。それが症状なら、読むべきページは Windows 11 でゲームがカクつく理由 です。低下は、マシンが 1 秒あたりにこなす仕事量が持続的に変わることで、起きている最中に適切な数値を見れば、下に挙げるもののほとんどすべてが自分から正体を明かします。

まず、正直な一文から。 このページにはゲームを速くするものは何もありません。示すのは、Windows がすでに記録している 3 つの痕跡 (ディスプレイ ドライバーのリセット、ファームウェアによるプロセッサ クロックの抑制、アクティブな電源プランのプロセッサ上限) で、これらは w0a のカクつき探偵が代わりに読み取ります。そして同じ 3 つを自分で数分で読む方法です。

全体を切り分ける 3 つの質問

設定に触れる前に、次の質問に答えてください。どれもリストの約半分を除外できます。

  1. 自然に戻りますか? 1 分ほど何もせずに待つと解消する低下は、熱かバックグラウンドのタスクを示しています。ゲームを再起動するまで続く低下は、ゲーム自体の状態かドライバーの出来事を示しています。
  2. すべてのゲームで起きますか、それとも 1 つのゲームだけですか? すべてのゲームならマシンが原因です。1 つのゲームなら、そのゲームの設定、アップデート、またはサーバーが原因です。
  3. セッションの経過時間に連動しますか、それともマップ上の場所に連動しますか? 時間なら熱と電力です。場所なら、場面が重くなったか、何かを読み込んでいます。

そのうえで、クロックと温度を後からではなく、起きている最中に見てください。後から振り返ると見えない低下も、その場で見れば明らかです: クロックが下がったか、下がらなかったかのどちらかです。

熱と電力の上限

「20 分たつと下がる」ときに除外すべき原因です。

チップは熱くなっても壊れず、遅くなります。温度や電力の上限に達すると、クロックが引き下げられ、その状態が続く間ずっと抑えられます。その判断をするのはファームウェア自身 (Windows ではなく、ボードや CPU 自体の保護機能) なので、タスク マネージャーには説明になるものが何も表示されません。グラフィックス側では、負荷がかかっているときにドライバーに尋ねれば、理由を答えてくれます: 熱保護、標準より低い電力制限、ドライバーに速度を落とすよう求めるプログラム、または正しく挿さっていない PCIe 電源コネクターです。

見分け方: セッションの長さと室温に連動し、低下中のクロックは開始時より目に見えて低くなっています。

すること: クーラーの取り付け、ほこり、ケース内のエアフローです。次に、電力制限が意図的に下げられていないか確認してください。ファームウェア、ベンダーのユーティリティ、保存されたグラフィックス カードのプロファイルのいずれかです。

マシンの電源状態が変わった

いちばんわかりやすいのはノート PC です: 充電器を抜くと、プラットフォームは別の上限のセットに切り替わります。デスクトップでも起きます。電源プランの変更、古いチューニング スクリプトが残したコア パーキングやプロセッサ状態の上限、Windows の更新後に元に戻ったプランなどです。

見分け方: 低下は温度ではなく、何かの出来事 (充電器を抜く、ふたを閉じる、スリープからの復帰、再起動) で始まります。

すること: 新しい値を考え出すのではなく、プラン自身の既定値に戻してください。Fix ページには電源プランとプロセッサの電源設定のカードがあり、どれも、どのツールが変更したかに関係なく、無条件に Windows の既定値を書き込みます。

ドライバーのリセット

画面が 1、2 秒暗くなって戻り、すべてが遅くなっているか、ゲームが閉じています。Windows は、ディスプレイ ドライバーが応答しなくなりリセットされたことを記録しています。

見分け方: これははっきりした痕跡を残し、カクつき探偵は直近 1 日に起きたリセットの回数を報告します。たどっていくと、たいていソフトウェアではなく、オーバークロックか冷却に行き着きます。

すること: メモリやコアのオフセットを適用しているなら、半分にして 1 試合テストし、0 にしてもう一度テストしてください。残りは GPU のクラッシュ回復 で扱っています。古いツールが原因を直す代わりにタイムアウトを延ばしていた場合に Windows の既定値に戻すことも含まれます。

Windows がすでに記録している 3 つの痕跡

1. ディスプレイ ドライバーのリセット (イベント 4101)

ディスプレイ ドライバーが応答を停止してリセットされると、Windows は システム ログにイベント 4101 を書き込みます。カクつき探偵は直近 24 時間のこのイベントを数え、唯一の重大な検出結果として報告します。10 回を超えると、正確な数を知っているふりをせず「10+」と表示します。ログ自体を読み取れない場合、カクつき探偵はマシンを問題なしとするのではなく、チェックを実行できなかったと表示します。

自分で確認するには、PowerShell で:

Get-WinEvent -LogName System -FilterXPath "*[System[Provider[@Name='Display'] and (EventID=4101) and TimeCreated[timediff(@SystemTime) <= 86400000]]]" -MaxEvents 10

1 つもない場合、PowerShell は選択条件に一致するイベントがないというエラーで答えます: それが「直近 1 日に 0 件」という答えです。ログを読み取れないと表示された場合は、PowerShell を管理者として実行してやり直してください。

戻し方は上のセクションのとおりです: オーバークロックを下げるか外し、冷却を確認し、古いツールがドライバーのタイムアウトを延ばしていた場合は GPU のクラッシュ回復 を使います。w0a 自身がそのタイムアウトを延ばすことはありません: ウォッチドッグを長くしても、フリーズのたびにその時間が長くなるだけで、回復をオフにすれば回復そのものがなくなります。

2. ファームウェアがクロックを抑えた (イベント 37)

Microsoft-Windows-Kernel-Processor-Power のイベント 37 は、ファームウェアがプロセッサのクロックを引き下げ、一度に何秒もその状態に抑えたことの記録です。その長さはイベント自体のテキストに書かれています。これが重要なのは、温度の値は見た瞬間しか示さないからです: 1 時間前にスロットリングして、その後冷えたマシンはまったく健全に見え、そのマシンに残るその 1 時間の痕跡はこのイベントだけです。

カクつき探偵は、電源接続時に限って直近 24 時間のこのイベントを数え (バッテリーでは、同じイベントはプラットフォームが本来の仕事をしているだけです)、3 回以上で警告します。起動直後の数秒間、ボードが電力制限を調整している間に 1、2 回出るのはよくあることです。

Get-WinEvent -LogName System -FilterXPath "*[System[Provider[@Name='Microsoft-Windows-Kernel-Processor-Power'] and (EventID=37) and TimeCreated[timediff(@SystemTime) <= 86400000]]]" -MaxEvents 20

フィルターにはプロバイダー名を残してください。ほかのコンポーネントも無関係なイベントに 37 という番号を使っており、プロバイダーを指定しない件数には意味がありません。

このイベントが続いているなら、原因は上の熱のセクションと同じく熱か電力制限です。何を読むかは ゲーム中の CPU と GPU の温度 で、ノート PC なら充電器と電源モードについては ゲーミング ノート PC が本来より遅い で扱っています。

3. アクティブなプランがプロセッサを制限している

プランの名前どおりに動いているとは限りません。最大のプロセッサの状態が 80% の「高パフォーマンス」は、正しい名前を付けた制限付きのマシンです。カクつき探偵は、アクティブなプランのプロセッサ セクションから、電源接続時の 4 つの設定を読み取ります:

設定 (powercfg が使う名前)カクつき探偵が上限と見なす値意味
PERFBOOSTMODE0ターボ オフ: プロセッサは定格クロックを超えません。
PROCTHROTTLEMAX1 から 99クロックの上限 (パーセント)。
IDLEDISABLE1アイドル状態オフ。w0a はこれをパフォーマンス設定ではなく制限と数えます。アイドル状態がなければ、ブーストに使える熱の余裕が残らないという理屈によるものです。これはブーストの仕組みからの推論であり、測定ではありません。
CPMINCORES1 から 99コア パーキング。ハイブリッド プロセッサ (Windows が処理を配置するために使う手段の 1 つです) や、2 ダイの V-Cache プロセッサ (ドライバーがゲームをキャッシュ ダイに留める方法です) では報告しません。Ryzen X3D、Game Bar、コア パーキング を参照してください。

カクつき探偵はこれらを powercfg ではなく Windows の電源インターフェイスから読み取ります。標準のインストールではそのうち 2 つが非表示になっており、powercfg はそれらについて何も表示しないからです。4 つのどれも読み取れない場合、カクつき探偵はプランに問題がないとは言わず、測定できなかったと表示します。

自分で確認するには、コマンド プロンプトまたは PowerShell で:

powercfg /getactivescheme
powercfg /query SCHEME_CURRENT SUB_PROCESSOR PROCTHROTTLEMAX
powercfg /query SCHEME_CURRENT SUB_PROCESSOR IDLEDISABLE
powercfg /query SCHEME_CURRENT SUB_PROCESSOR PERFBOOSTMODE
powercfg /query SCHEME_CURRENT SUB_PROCESSOR CPMINCORES

答えの読み方:

設定ごとの戻し方:

アップデートの直後に起きた

ここにはまったく異なる 2 つのことが隠れています。

ゲームやドライバーのアップデートはシェーダー キャッシュを無効にし、ゲームはプレイしながら再コンパイルします。フレーム レートはしばらくの間は本当に低く、その後は低くなくなります。だんだん消えていく、それが特徴です。その理由と、その期間にベンチマークをすべきでない理由は シェーダー コンパイルのカクつき で説明しています。

ドライバーのブランチでの性能低下は消えません。ベンダーはこれを文書で認めることもあります。リリース ノートに「X より新しいブランチでは、このタイトルのパフォーマンスが低下する」という項目が載ります。反射的にダウングレードしないでください: 更新を済ませ、自分のマシンで測定し、性能低下を自分で記録できた場合にだけ別のバージョンを検討してください。

別の何かが動き始めた

スケジュールされたスキャン、展開中の更新ワーカー、アーカイブの解凍、動画の書き出し。それはゲームと同じコアを奪い合い、カクつきとは違ってフレームの合間に消えることはなく、1 日の決まった時刻に再現することがよくあります。CPU 使用率の合計は見るべき数値ではありません: 8 コアのマシンで 1 つのコアが飽和していても、合計は控えめな値になります。終わるのを待つか、その作業を別の時間に移してください。

フレーム レートは実際には下がっていない

上限。 落ち着く数値がリフレッシュ レート、ゲーム内の上限、ドライバー側の上限とちょうど同じなら、何もボトルネックになっていません。自分で設定した上限に達しているだけです。

動的解像度。 目標のフレーム レートを保つために自分でレンダリング解像度を調整するゲームでは、カウンターは安定したまま、代わりに画質が変わります。

1 つのゲームだけで、カウンターは正常に見える

その場合、低下はそもそもマシンで起きていないかもしれません。オンラインの試合は、サーバー上の全員に対して同時に悪化します。そしてネットワークの問題はフレーム レートの問題ではありません: パケットが遅れて届くと、マシンはフル スピードで描画し続けているのに、周りの世界がカクつきます。その間ずっとフレーム タイムが健全なら、PC を調べるのはやめてください。

そうではなく、グラフィックス カードが遊んでいるのにフレーム レートが本来より単純に低いなら、それは独自のリストを持つ別の診断です: GPU 使用率が 100% にならない がそれを順に確認します。

答えが出る実行の手順

  1. 何も問題がないうちに普段のセッションをキャプチャし、保存しておきます。その方法と、平均がそこでは最も役に立たない数値である理由は ベンチマークの読み方 で説明しています。
  2. 低下が起きたら、後ではなく、起きている最中のクロックと温度を記録します。
  3. 1 つだけ変更し、同じ場面と同じセッションの長さを再現します。
  4. 自分の実行ごとのばらつきと比べて判断します。何も変えていない 3 回の実行が、喜んでいる差より大きくばらつくなら、見つけたのはノイズです。

低下に対してしてはいけないこと

ドライバーのリセットを隠すために、グラフィックス ドライバーの回復タイムアウトを延ばさないでください: 短い回復が長いフリーズに変わり、証拠も消えます。出典のないガイドを根拠に、コアや同時マルチスレッディングを無効にしないでください。わかっているマルチコアの処理能力を、誰も方法を公開していない向上と引き換えにすることになります。そして、カーネルのメモリ管理の値をパフォーマンスの対処として適用しないでください。この製品はそれらの書き込みを拒否しており、それらを支持する測定もありません。

電源の設定も同じです: 上の 4 つのどれも、逆に倒せば「パフォーマンス」が上がるスイッチではありません。ターボ オフはプロセッサを定格クロックに留め、w0a 自身のカクつき探偵も、アイドル状態オフを見つけたらどこであれ制限として指摘します。

関連

CS2 をプレイしていますか? 今でも効果がある起動オプションと、ビデオ設定のどの項目が実際にフレーム レートを左右するか: CS2 のカクつきと低 FPS を直す方法: 測定に基づくチェックリスト

w0a は、指示されるまで Windows の設定を変更しません。また調整は、新しい値を書き込む前に元の値を保存します。 通知を受け取る

このページは役に立ちましたか?

何が足りなかったか、何がうまくいかなかったかを教えてください。いただいた内容はすべて読んでいます。

送信されるのは、入力した内容とこのページの名前だけです。サーバーは不正利用を防ぐために接続元の IP アドレスも記録し、報告と一緒に削除します。16 歳未満の方は、この欄を使わないでください。 プライバシー ポリシー

このページで解決しなかった場合は、ご連絡ください。どの記事を読んだかを書いていただければ、その記事を修正します。