ゲーム実行中に「Direct3D が呼び出しを完了するのに十分なメモリを割り当てられませんでした」のような DirectX エラーが発生すると、非常にイライラします。これは、ゲームが大量のグラフィック処理を要求する際に、システムの VRAM やシステム全体のメモリが不足している場合によく発生します。場合によっては、仮想メモリの増設が必要な場合や、ドライバが古い場合、あるいはバックグラウンド アプリが気づかないうちにリソースを消費している可能性があります。解決は必ずしも簡単ではありませんが、いくつかの調整を行うことで、ゲームがランダムにクラッシュしないようにスムーズに動作させることができます。前日までシステムが正常に動作していた場合、これらのエラーが予告なく発生するのは少し奇妙ですが、これは Windows と DirectX の典型的な問題です。このガイドでは、同様の状況で役立った手順をいくつか紹介します。頭を抱える前に、これらの手順を試してみる価値はあります。
「Direct3D が十分なメモリを割り当てられませんでした」エラーを修正する方法
ページングファイルサイズを増やす
これは、仮想メモリ(ページングファイル)を拡張することで、システムに余裕を持たせるための方法です。特にVRAMやRAMが限られているシステムでは、ゲームが現在のメモリ構成で処理できる以上のリソースを要求している場合に効果があります。システムがメモリ不足になると、この仮想バッファが介入してクラッシュを防ぐことがあります。一部のシステム構成では、この修正を有効にするために再起動が必要になるため、数回の再起動が必要になる場合もあります。手順は次のとおりです。
- Windows キー + Iを押して設定を開きます。
- 下にスクロールして「システム」をクリックし、次に「バージョン情報」を選択します。
- 右側の「システムの詳細設定」をクリックします(これにより「システムのプロパティ」が開きます)。
- 「詳細設定」タブに切り替えて、「パフォーマンス」の下にある「設定」をクリックします。
- パフォーマンス オプションウィンドウで、 [詳細設定]に移動し、[仮想メモリ]の下の[変更]をクリックします。
- 「すべてのドライブのページングファイルサイズを自動的に管理する」のチェックを外してください。
- ゲームがインストールされているドライブを選択してください(通常はCドライブ)。
- 「カスタムサイズ」を選択してください。初期サイズと最大サイズについては、現在のRAM容量をMB単位で2倍にしてください(例えば、4GBのRAMを搭載している場合は4096から8192)。
- 「設定」をクリックし、「OK」をクリックします。PCを再起動し、ゲームを再起動してください。仮想メモリがボトルネックになっていた場合、これによりメモリエラーを防ぐことができます。
Windowsメモリ診断ツールを実行する
この組み込みユーティリティは、実際のRAMモジュールのエラーをチェックします。RAMの不具合は、メモリ割り当てエラーなど、予期しないクラッシュを引き起こすことがあります。なぜ効果があるのかは不明ですが、診断を実行することで、特に他の解決策が効果がなかった場合に、多くのユーザーが同様の問題を解決しています。RAMにエラーがあると、ゲームなどの負荷の高いアプリケーションに影響が及ぶ可能性があります。実行するには:
- WindowsキーとRキーを同時に押して、「ファイル名を指定して実行」ダイアログボックスを開きます。
- mdsched.exeと入力してEnter キーを押してください。
- 「今すぐ再起動して問題を確認する」を選択してください。PCが再起動し、RAMのスキャンが行われます。これには数分かかる場合があります。
処理が完了すると、システムから問題があれば通知されます。エラーが見つかった場合は、不良のRAMモジュールを交換する必要があるかもしれませんが、問題がなければ、メモリが正常であるという安心感を持ってゲームを再開できます。
MSI Afterburner OSDの除外リストにゲームを追加する
MSI Afterburnerなどのオーバーレイを使用している場合、DirectXのメモリ処理に干渉することがあります。ゲームを監視対象から除外することで、クラッシュをスムーズにすることができます。これは多少の試行錯誤が必要ですが、他の解決策がうまくいかない場合は試してみる価値があります。ただし、これは実際のメモリ問題を解決するというよりも、オーバーレイの競合を回避するためのものです。手順は以下のとおりです。
- MSI Afterburnerを開き、設定画面の歯車アイコンをクリックします。
- 「画面表示」タブに移動し、「その他」をクリックします。
- Shiftキーを押しながら、RTSSウィンドウの左下にある「追加」ボタンをクリックします。
- リストからゲームを選択し、「OK」をクリックしてください。
- MSI Afterburnerを閉じてゲームを再起動し、エラーが解消されるかどうか確認してください。奇妙に聞こえるかもしれませんが、オーバーレイの競合を解消するだけでメモリ関連のクラッシュが解決する場合もあります。
DirectXシェーダーキャッシュをクリアする
このキャッシュにはコンパイル済みのシェーダーが保存されますが、時々破損してしまい、メモリエラーやクラッシュの原因となることがあります。キャッシュをクリアするのは簡単で、定期的なメンテナンスとして良い方法です。もちろん、Windowsは必要以上に難しくしていますが。キャッシュをクリアするには:
- Windowsアイコンをクリックし、「ディスククリーンアップ」と入力して右クリックし、「管理者として実行」を選択します。
- Cドライブを選択して「OK」をクリックします。
- リストで、DirectX シェーダー キャッシュ以外のすべてのチェックを外します。
- 「OK」をクリックし、次に「ファイルの削除」をクリックして確定します。
これは、特にドライバーのアップデートやWindowsのパッチ適用後に発生する、メモリエラーを引き起こすキャッシュの破損を解消するのに役立ちます。他の方法で解決しない場合は、試してみる価値があります。
また、グラフィックドライバーが最新であることを確認してください。古いドライバーや破損したドライバーは、これらのメモリ割り当て問題の根本原因となることがよくあります。GPUメーカー(NVIDIA、AMD、Intel)のWebサイトで最新のアップデートを確認するか、公式ソフトウェア(GeForce Experience、Radeon Software)を使用して、すべてを常に最新の状態に保ってください。これらのエラーを修正する作業は、まるでモグラたたきのようで、ちょっとした調整で解決しても、すぐに別の問題が発生することがあります。それでも、これらの手順は最も一般的な原因を網羅しているので、どれか一つでもクラッシュを回避するのに役立つはずです。
まとめ
- 仮想メモリ(ページングファイルサイズ)を増やすことで、システムに余裕を持たせることができます。
- メモリ診断を実行して、RAMが故障しているか、不安定になっているかを確認してください。
- MSI Afterburnerなどのオーバーレイツールを使用している場合は、ゲームをオーバーレイツールから除外してください。
- DirectXキャッシュをクリアして、破損したシェーダーデータを削除します。
- 互換性の問題を避けるため、グラフィックドライバーは常に最新の状態に保ってください。
まとめ
DirectXのメモリエラーを修正するには、仮想メモリ、ドライバ、シェーダーキャッシュなど、すべての要素が同期していることを確認するだけで済む場合もあります。これらの修正で問題が解決したり、少なくとも原因を絞り込めることがよくあります。問題が繰り返し発生する場合は、システムRAMの状態を確認したり、可能であれば別のGPUを試してみる価値があるかもしれません。いずれにせよ、この情報がクラッシュせずにゲームを楽しめるようになるのに役立つことを願っています。これは私が試してうまくいった方法です。あなたにも効果があるといいですね。