トップページ > 記事閲覧
MakeScreenで作成したグラフィックハンドルを削除するべきでしょうか
名前:Saucer 日時: 2022/10/15 12:03

こんにちは、いつもDXライブラリを有難く使わせていただいております。 自作のプログラムで、プログラム実行中(ゲームをプレイ中)にウィンドウモードとフルスクリーンモードの切り替えや、画面の解像度の変更等をできるようにしております。 そういう設定の変更をする度に、MakeScreenを用いて描画対象にできるグラフィックを新たに作成しているのですが、その際それまで使っていたグラフィックをDeleteGraphで削除していないことに気付きました… 例えばプレイヤーが何度も画面の解像度を変えたりしたら、もしかしてメモリ内では要らないグラフィックが溜まっていってしまうのでしょうか? つまり、毎回DeleteGraphで前のグラフィックを削除しないとメモリリークが発生してしまうのでしょうか? どうかご指導お願い致します。
メンテ

Page: 1 |

Re: MakeScreenで作成したグラフィックハンドルを削除するべきでしょうか ( No.1 )
名前:Saucer 日時:2022/10/15 12:25

すみません、自分のコードを良く見直して考えてみたら、描画対象にできるグラフィックは 多分一度作成するだけで良いと気づき、恐らく要らないのに二つ目のグラフィックを作成 していたことに気付きました… 但し、将来何らかの理由でグラフィックを複数取り扱ったりなんかした場合、やはり 要らなくなったグラフィックはDeleteGraphで削除しておくべきかお聞きしたいです。
メンテ
Re: MakeScreenで作成したグラフィックハンドルを削除するべきでしょうか ( No.2 )
名前:管理人 日時:2022/10/16 01:01

> 例えばプレイヤーが何度も画面の解像度を変えたりしたら、もしかしてメモリ内では要らないグラフィックが溜まっていってしまうのでしょうか? デフォルトの設定では SetGraphMode や ChangeWindowMode を使用すると、それまでに作成していた グラフィックハンドルが全て削除されるので、画面の解像度変更やウィンドウモード変更をした場合に 限ってはグラフィックが溜まっていくということはありません > 但し、将来何らかの理由でグラフィックを複数取り扱ったりなんかした場合、やはり > 要らなくなったグラフィックはDeleteGraphで削除しておくべきかお聞きしたいです。 SetGraphMode や ChangeWindowMode を使用しない場合で不要になったグラフィックハンドルを削除せずに 次々に新しくグラフィックを作成したり読み込んだりした場合はどんどんメモリやVRAMに溜まっていき いずれメモリ不足に陥ることになりますので、要らなくなったグラフィックは DeleteGraph で削除する必要があります
メンテ
Re: MakeScreenで作成したグラフィックハンドルを削除するべきでしょうか ( No.3 )
名前:Saucer(解決) 日時:2022/10/16 10:29

管理人様、 なるほど、大変分かりやすくご説明くださり誠に有難うございます!
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存