[解決済み] D3DERR_OUTOFVIDEOMEMORYとE_OUTOFMEMORYの違いは何ですか?
2022-02-11 08:05:57
質問
XP-32でDX9でプリミティブを描画するツールを開発中です。
頂点バッファやインデックスバッファを作成する際に、作成に失敗するエラーが発生することがあります。
リターンコードはD3DERR_OUTOFVIDEOMEMORYまたはE_OUTOFMEMORYになる可能性があります。
両者の違いはよくわかりません。
DXサンプルのVideoMemoryツールでメモリを確認したところ、1024MBと表示されました。
つまり、1024MB以上のマネージドリソースを大量に作成すると、D3DERR_OUTOFVIDEOMEMORYが報告されるということでしょうか?
プロセス内の仮想空間メモリに空きがなく、mallocに失敗した場合、DX9はE_OUTOFMEMORYを報告するのでしょうか?
解決方法は?
E_OUTOFMEMORY は、DirectX が要求されたメモリブロックを割り当てることができなかったことを意味します(malloc または new を使用)。
D3DERR_OUTOFVIDEOMEMORYは、DirectXが要求されたメモリブロックを割り当てられなかった(つまり、GFXカードまたはメインメモリに予約されているメモリのプールから割り当てられなかった)ことを意味します。
注意:ドライバが嘘をつく可能性があります。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン