D3D デバイスの損失によって発生する Unreal Engine の終了を修正する方法
「D3Dデバイスが失われたため、Unreal Engineは終了します」というエラーメッセージは、特にゲームの途中で表示されると、本当に困ったものです。このエラーメッセージは主にUnreal Engineで作成されたゲームで発生し、正直なところ、GPUとゲームのグラフィック設定がうまく噛み合っていないように感じられます。ハードウェアの不具合が原因の場合もあれば、ドライバの破損や設定の不整合が原因の場合もあります。以下の修正方法は、ほとんどの一般的な原因をカバーしているようですので、もし1つがうまくいかなくても、別の方法で解決できるかもしれません。多少の試行錯誤は必要ですが、クラッシュのないゲーム環境を取り戻すために試してみる価値はあります。
「D3Dデバイスが失われたため、Unreal Engineが終了します」というエラーを修正する方法
万能の解決策はありませんが、Unreal Engineのフォーラムやコミュニティスレッドで紹介されている方法を用いて、多くの人がこの問題を解決しています。よくある原因としては、ドライバの問題、オーバークロック、電源設定、ディスプレイモードの競合などが挙げられます。重要なのは、これらの修正方法を順番に試すことです。オーバークロックをオフにしたり、グラフィック設定を変更したりするだけで問題が解決する場合もあります。ゲームが起動直後、または数分後にクラッシュする場合は、これらの方法を試すことでクラッシュを軽減、あるいは完全に防止できるはずです。
NVIDIA GeForce バッテリーブーストオプションを無効にする
ちょっと変な話ですが…ノートパソコンがバッテリー駆動時や電源プラグを抜いている時にこのエラーが頻繁に表示される場合は、バッテリーブーストがGPUのクロック速度に影響を与えている可能性があります。NVIDIAのバッテリーブーストは、電源プラグを抜いている時にクロック速度を通常とは異なる方法で上げてしまうため、Unreal Engineゲームのような負荷の高いアプリの動作が遅くなる可能性があります。バッテリーブーストをオフにすると、電源の状態に関係なくGPUがフル稼働するように強制され、エラーが解消される可能性があります。
NVIDIA GeForce Experience のこの奇妙な機能をオフにするには:
- NVIDIA GeForce Experience を開きます (スタート メニューで検索してください)。
- 設定 (歯車アイコン) に移動して、一般 をクリックします。
- バッテリーブースト が表示されるまで下にスクロールし、オフに切り替えます。
- アプリを閉じてゲームを再起動し、問題が解決したかどうかを確認してください。
それでも問題が解決しない場合は、次の修正に進んでください。また、設定によっては、この設定がグレー表示になったり、動作がおかしくなったりする場合がありますので、ご注意ください。
GPUのオーバークロックをやめる
オーバークロックは、fpsが上がりパフォーマンスが向上するので良いアイデアのように思えますが、時にトラブルを招く原因となることもあります。Unreal Engineのゲームは動作の条件が厳しく、オーバークロックしたGPUクロックは動作を不安定にする可能性があります。ある設定では問題なく動作するかもしれませんが、別の設定ではクラッシュしたりエラーが発生したりするなど、一種のギャンブルとも言えます。オーバークロックを無効にするか、GPUクロックを標準設定にリセットすると、安定する可能性があります。あるいは、冒険したいなら、少しアンダークロックしてみるのも良いでしょう。特に温度や電力供給に不安がある場合は効果的です。
オーバークロックを無効にするには:
- GPU のオーバークロック ツールを開きます: MSI Afterburner、Gigabyte Aorus Engine、または使用するツール。
- すべての時計をデフォルトまたは標準設定にリセットします。
- 変更を適用して再起動します。
これにより、負荷の高いシーンでのGPUの動作が安定することがよくあります。安定しない場合は、GPUのクロックを標準設定に戻すことで、問題を軽減できる可能性があります。
デフォルトのグラフィックプロセッサを変更する
ノートパソコンやシステムに2つのGPU(Intel内蔵GPUとNVIDIAまたはAMD専用GPUなど)が搭載されている場合、Unreal EngineがデフォルトのGPUを間違った方に設定することがあります。これは、処理能力が不足しているか、互換性がないためです。デフォルトを高性能GPUに切り替えることで、レンダリングが安定し、デバイス損失エラーを防ぐことができます。
NVIDIA でこれを行うには:
- システム トレイから NVIDIA コントロール パネル アイコンをクリックします (または検索します)。
- 3D 設定の管理 に移動します。
- グローバル設定 タブで、優先グラフィック プロセッサ を見つけます。
- ドロップダウンから高性能 NVIDIA プロセッサを選択します。
- 適用 を押して PC を再起動し、ゲームをもう一度起動します。
AMD セットアップを使用している場合は、Radeon 設定 または Windows グラフィック設定 に同様のオプションがあります。
グラフィックドライバーを更新する
これはよくある解決策です。古くなったドライバーや破損したドライバーが原因となるケースが何度もありました。特にNVIDIAやAMDのカードの場合、ドライバーを最新の状態に保つことは非常に重要です。ドライバーのアップデートによって、クラッシュやデバイス紛失エラーの原因となるバグが修正されることが多いためです。Windowsはドライバーを自動的に更新しないことがあるため、手動でアップデートを促すことをお勧めします。
ドライバーを更新するには:
- スタート メニューを右クリックし、デバイス マネージャー を選択します。
- ディスプレイ アダプター を展開します。
- GPU (NVIDIA GeForce または AMD Radeon と表示されている場合があります) を右クリックし、ドライバーの更新 を選択します。
- ドライバーを自動的に検索する を選択します。
あるいは、GPUメーカーのウェブサイト([NVIDIA](https://www.nvidia.com/Download/index.aspx)や[AMD](https://www.amd.com/en/support)など)にアクセスして、最新のドライバーをダウンロードすることをお勧めします。最新のドライバーが必ずしも安定しているとは限りません。ロールバックやベータ版のテストを行う場合は、試行錯誤が必要になることを覚悟してください。アップデート後、再起動して問題が解決するかどうかを確認してください。
DDUを使用してドライバーを再インストールする
アップデートしても問題が解決しない場合は、ドライバーファイルが破損しているか競合している可能性があります。ディスプレイドライバーアンインストーラー(DDU)は、古いドライバーを完全に削除し、クリーンインストールを行う確実な方法です。これにより、アップデートだけでは検出できない隠れた問題が解決されることもあります。
それを行うには:
- このサイトからDDUをダウンロードしてください。安全な場所に解凍してください。
- セーフ モード で起動します (Shift キーを押しながら [再起動] をクリックし、[詳細なスタートアップ オプション] に移動することで実行できます)。
- DDU を実行し、GPU ドライバーの種類 (Nvidia または AMD) を選択します。
- [クリーンして再起動] をクリックすると、古いドライバーが完全に消去されます。
通常モードで再起動したら、メーカーのサイトから最新のドライバーを再度ダウンロードしてください。インストールし直し、もう一度再起動してください。ゲームを起動して、エラーが解消されたかどうかを確認してください。
ゲームの全画面モードを無効にする
フルスクリーンモードからウィンドウモードに切り替えると問題が解決したというユーザーもいます。理由は定かではありませんが、Unreal Engineはフルスクリーン時に時々不安定になるようです。ゲーム設定で表示モードを変更するだけで、何時間もトラブルシューティングするよりもずっと簡単です。
Windows、Steam、Unreal Engine をアップデートする
当然のことながら、Windowsは必要以上に動作を重くしています。OSコンポーネントが古かったり、ゲームファイルが破損していると、D3Dデバイスのデータが失われるなど、様々なクラッシュが発生する可能性があります。Windows本体、Steam、そしてUnreal Engineと、すべてが最新の状態であることを確認してください。
Windows を更新する
- スタートメニューから設定を開きます。
- Windows Update に移動します。
- 更新プログラムを確認 をクリックします。
- 利用可能なアップデートをインストールして再起動します。
Steam をアップデート
- Steam を起動します。
- Steam > Steam クライアントのアップデートを確認 をクリックします。
- アップデートをダウンロードしてインストールし、Steam を再起動します。
Unreal Engine のアップデート
- Epic Games Launcher を開きます。
- ライブラリ タブで、Unreal Engine インストールの横にある バージョンの追加 をクリックします。
- 最新バージョンを選択し、[インストール] をクリックします。
すべてが最新の状態になったら、ゲームをもう一度起動してみてください。古いファイルが競合を引き起こしているだけの場合もあります。
これらの修正方法がお役に立てば幸いです。これらは実績のある方法を寄せ集めたようなものであり、(少なくとも場合によっては)実際に効果を得るために複数の方法を組み合わせる必要がある場合もあります。確かにイライラさせられるかもしれませんが、これらの解決策のほとんどは、いずれにしてもエラーを解消することができました。
まとめ
- バッテリー電源を使用している場合は、NVIDIA Battery Boost をオフにします。
- GPU オーバークロックを無効にするかリセットします。
- デフォルトの GPU を高パフォーマンス設定に切り替えます。
- グラフィック ドライバーを更新または再インストールします (DDU などを使用)。
- フルスクリーンモードではなくウィンドウモードでゲームを実行してみてください。
- Windows、Steam、Unreal Engine が完全に最新であることを確認してください。
まとめ
これらの手順はすべて実行可能で、多くの場合、一つずつ問題を除外していくだけで済みます。一つの方法がうまくいかなくても、別の方法がうまくいく可能性が高いです。重要なのは、ドライバーとシステムを常に最新の状態に保つことです。古いソフトウェアは、負荷の高いグラフィックタスクにうまく対応できないことがほとんどだからです。これで、Unreal Engineゲームがバフ処理中にクラッシュすることなくスムーズに動作するようになることを願っています。うまくいくことを願っています。すぐに解決することを願っています!