PC ゲームで OS 巻き込んでフリーズしたり、ディスプレイドライバーの応答停止と回復でゲームがクラッシュしてまともにゲームできない場合の対処方法
最近 PC ゲームをプレイしている最中に OS ごと巻き込んで完全にフリーズしたり、ゲームがクラッシュして 「ディスプレイドライバの応答停止と回復」 が表示されたりと、一度だけでなく何度も同じことが繰り返されて、まともにゲームがプレイできない状態が続いておりました。
いろいろ調べて試行錯誤してみた結果、原因とその対処方法がわかりましたので、その内容をまとめてみました。
- PC ゲームで OS 巻き込んでフリーズしたり、ディスプレイドライバーの応答停止と回復でゲームがクラッシュしてまともにゲームできない場合の対処方法 (現在開いているページ)
- PC ゲームが起動しない・安定しない場合に確認と設定したほうがいいかもしれないリスト
- 特定の PC ゲームで起きるサウンドノイズ、音声早送りを解決する方法
- 古い PCI サウンドカードから発生した爆音ノイズを解決した時のメモ
- 3連ファンと大型ヒートシンクで冷却特化した GIGABYTE(ギガバイト) のバックプレート付き GeForce GTX 970 を購入しました
- ハードウェア詳細情報・モニタリングフリーソフト HWiNFO を起動したときに OS を巻き込んでフリーズ・クラッシュした場合の解決方法
- NVIDIA Inspector のインストールと設定をしてみました その1
- NVIDIA Inspector のインストールと設定をしてみました その2
- NVIDIA Inspector のインストールと設定をしてみました その3
- NVIDIA Inspector のインストールと設定をしてみました その4
- NVIDIA Inspector(Multi Display Power Saver)で P0(最大パフォーマンス)にならないときの対処方法
PC ゲーム中にクラッシュ・フリーズする、DirectX に回復不能なエラー DXGI_ERROR_DEVICE_HUNG メッセージが表示される、ディスプレイドライバー nvlddmkm が応答停止になる原因
画像は Call of Duty : WWII オープンベータプレイ時にゲームがクラッシュして表示された、「DirectX に回復不能なエラーが発生しました DXGI_ERROR_DEVICE_HUNG」 エラーメッセージです。
イベントビューアには 「ディスプレイドライバー nvlddmkm が応答を停止しましたが、正常に回復しました。」 というエラーログも残っていました。
ゲームがクラッシュしてエラー落ちするのはまだ運がいいほうで、ゲームによってはそのまま画面が固まりキーボード操作も受け付けなくなって、リセットボタンで強制的にPC を再起動するしかないといった状況になることが何度もありました。
このエラー内容からネット上にある対処方法を調べてみると、グラボの 自動オーバークロック機能(GPU Boost)が原因 である可能性が高いことがわかってきました。
GPU-Z で私が使っている NVIDIA GeForce GTX970 GV-N970G1 GAMING-4GD の Boost Clock をチェックしてみると、メーカーの仕様通り 1329MHz が設定されています。
GeForce GTX 970 の GPU Boost のリファレンス仕様は 1178MHz となっているので、大きくオーバークロックが設定されているのがわかります。
ところが、ゲームやベンチマークなどビデオカードの負荷の高い処理を走らせてみると、NVIDIA Inspector の P-State が P0 (フルロード) の状態では、Current Clock と Est_Max が 1455MHz で Boost Clock 1329MHz 設定を大きく上回っています。GPU-Z の GPU Core Clock も 1455MHz になっていることも確認できました。
この Boost Clock (GPU Boost) の仕様については 4Gamer.net の記事 に詳しく解説されています。どうやら、GPU Boost は上限値ではなく平均的に到達するクロックで、環境次第でさらにオーバークロックすることがある うえに GPU Boost をユーザー側で無効化できない ようです。
この問題は次に紹介する ツールで Power Target (Power Limit) を下げる か ツールでグラボのクロックを下げる のいずれかの方法で制御することで解決できる可能性があります。
対策方法 1 : ツールでグラボの Power Target (Power Limit) を下げる
最初に紹介するのは、NVIDIA Inspector で Power Target (MSI Afterburner なら Power Limit) を適切に調節することで、Base クロックを手動で下げることなくクラッシュやフリーズを回避する方法です。
NVIDIA Inspector で Show Overclocking ボタン(クリック後は Hide Overclocking に変わる)からオーバークロック設定を開き、Performance Level [3] - ( P0 ) を開きます。
Base Clock Offset は 0 Mhz(デフォルト設定) のままで、Power and Temperature Target (Power Target、Power Limit) 100% の状態でフルロードさせると、Power が 180W 前後になり Temperature が 70度近くまで上昇 します。私が使っている GIGABYTE GV-N970G1 GAMING-4GD ではデフォルト設定でこのように動作していることになります。
GPU-Z の Sensors モニタリング画面を見ると GPU Core Clock (Boost Clock) は 1455MHz、Power Consumption は 70% TDP 以上になっているのがわかります。
この Power Consumption の数値を NVIDIA Inspector の Power and Temperature Target (Power Target、Power Limit) で制御することで、Base Clock Offset (MHz) をいじることなくオーバークロックを抑えながら、かんたんにグラボの消費電力が下げられるうえに、ワットパフォーマンスを改善することができます。
NVIDIA Inspector で Power and Temperature Target (Power Target、Power Limit) 60% に設定を変更して Apply Clocks & Voltage ボタンをクリックします。
グラボをフルロードさせると Power が 150W 前後になり、Temperature が 65度前後まで下がっている ことが確認できました。
GPU-Z の Sensors モニタリング画面を見ると GPU Core Clock (Boost Clock) は 1400MHz 以下、Power Consumption は NVIDIA Inspector の Power and Temperature Target で設定した 60% TDP までで、それ以上上がりませんでした。
NVIDIA Inspector でさらに Power and Temperature Target (Power Target、Power Limit) を 50% まで下げてみます。
グラボをフルロードさせると Power が 120W 前後になり、Temperature が 60度前後まで下がっている ことが確認できました。
GPU-Z の Sensors モニタリング画面を見ると GPU Core Clock (Boost Clock) は 1300MHz 以下、Power Consumption は NVIDIA Inspector の Power and Temperature Target で設定した 50% TDP までで、それ以上は上がりません。
以上、ツールで Power Target (Power Limit) の設定を下げることで、グラボ高負荷時のクラッシュ・フリーズ問題を回避する方法の紹介でした。
グラボ本来の性能を落とすことになりますが、引き換えに高負荷時の安定性を得るとともに、消費電力と温度を下げることができますので、PC ゲームが頻繁にクラッシュ・フリーズするようであれば、ぜひこの設定をやってみてください。
対策方法 2 : ツールでグラボのクロックを下げる
こちらはツールでグラボのクロックを下げてゲームのクラッシュ・フリーズを回避する方法です。
ビデオカードに設定されている Boost Clock からさらにオーバークロックされた状態で動作することで、フリーズやクラッシュ、ディスプレイドライバーの応答停止と回復を起こしていた可能性が高いことがわかりました。
以前はそのようなトラブルはなく、前からこの設定のままで動作していたと思いますが、HDD やら拡張カードを増設 したことでシステムの消費電力が増えたことと、購入した電源ユニット (SilverStone STRIDER Gold Evolution SST-ST75F-G-E) が 24時間稼働で 4年以上経過 し続けたことによる老朽化もあわさってか、グラボの負荷に耐えられなくなってきた可能性がでてきました。
もしくは、リファレンスクロック(1178MHz)から 277MHz も自動オーバークロック(1455MHz)させていたので、そもそもグラボ自体が過剰なオーバークロック設定で常用できるようなものではなかったのかもしれません。
最初は古くなった電源ユニットの交換を考えましたが、今回はビデオカードの Boost Clock 設定を引き下げて固定することで対処できることがわかりましたので、NVIDIA Inspector を使って Boost Clock の設定を変更してみます。
NVIDIA Inspector で Show Overclocking ボタン(クリック後は Hide Overclocking に変わる)からオーバークロック設定を開き、Performance Level [3] - ( P0 ) を選んで Base Clock Offset を変更します。画像では試しに -100MHz に変更しています。
Apply Clocks & Voltage ボタンで設定が反映されますが、PC を再起動すると元のクロック数に戻ってしまいます。そこで、Create Clocks Shortcut ボタンでデスクトップにショートカットを作成して Windows のスタートアップに入れることで、Windows 起動時に設定したクロック数に固定することができます。
NVIDIA Inspector で Base Clock Offset 変更後の、GeForce GTX970 フルロード時の GPU-Z Sensors モニタリング画面です。
GeForce GTX970 の P-State が P0 (フルロード時) の状態で、GPU Core Clock が 1355MHz(1455MHz - 100MHz) で稼働しているのを確認できました。
あとは NVIDIA Inspector で落としどころを決めて、ゲームやベンチマークなどの高負荷時にフリーズやクラッシュしなくなれば設定完了です。
こちらは MSI Afterburner の画面です。
NVIDIA Inspector で試しに変更した Base Clock Offset -155MHz が MSI Afterburner でも Core Clock (MHz) 項目に反映されているのが確認できます。
NVIDIA Inspector 以外のオーバークロックツールでもクロック数の設定が変更できるかと思いますので、PC ゲームなどで高負荷時にフリーズやクラッシュするような状態が続くようであれば、グラボのクロック数を下げてみることで解決できるかもしれません。
- PC ゲームで OS 巻き込んでフリーズしたり、ディスプレイドライバーの応答停止と回復でゲームがクラッシュしてまともにゲームできない場合の対処方法 (現在開いているページ)
- PC ゲームが起動しない・安定しない場合に確認と設定したほうがいいかもしれないリスト
- NVIDIA Inspector(Multi Display Power Saver)で P0(最大パフォーマンス)にならないときの対処方法
- 特定の PC ゲームで起きるサウンドノイズ、音声早送りを解決する方法
- 古い PCI サウンドカードから発生した爆音ノイズを解決した時のメモ
- NVIDIA テレメトリサービス NvTelemetry を削除して GeForce ドライバをインストールする方法
- Display Driver Uninstaller(DDU)を使って GeForce ドライバの完全削除と、アカウント不要 GeForce Experience をインストールしました
- グラフィックスドライバ アンインストールソフト Display Driver Uninstaller (DDU) を使って NVIDIA GeForce ドライバを完全削除してみました
- 3連ファンと大型ヒートシンクで冷却特化した GIGABYTE(ギガバイト) のバックプレート付き GeForce GTX 970 を購入しました
- OS が入った HDD を SSD に換装するため、Crucial の 3年保証がついた 525GB の SSD MX300 (CT525MX300SSD1) を購入しました
- USB 3.0(ルネサス) と SATA(ASMedia) が使える PCI Express 低価格コンボカードを購入しました
- ハードウェア詳細情報・モニタリングフリーソフト HWiNFO を起動したときに OS を巻き込んでフリーズ・クラッシュした場合の解決方法
- パーツ選定 電源ユニット SilverStone STRIDER Gold Evolution SST-ST75F-G-E
- NVIDIA Inspector のインストールと設定をしてみました その1
- NVIDIA Inspector のインストールと設定をしてみました その2
- NVIDIA Inspector のインストールと設定をしてみました その3
- NVIDIA Inspector のインストールと設定をしてみました その4
- MSI Afterburner 3.0.0 (+ RivaTuner Statistics Server 6.1.1) がリリースされたのでインストールしてみました
- MSI Afterburner 3.0.0 の初期設定を確認してみました
- MSI Afterburner 3.0.0 の設定をしてみました
- RivaTuner Statistics Server 6.1.1 の設定をしてみました
- MSI Afterburner インストールと設定内容確認 編
- MSI Afterburner モニタリングと各種設定変更 編
- MSI On-Screen Display server 設定内容確認 編
- MSI On-Screen Display server オーバーレイ表示設定 編