Re: リソースを読み込んだ後 ( No.1 ) |
- 名前:管理人 日時:2008/11/03 22:48
> たしかリソースはアプリケーション実行中はシステムメモリに保存されている、と記憶しています。
はい、そうだと思います
> 設定しない限り画像データはVRAMに保存されますよね?
「設定しない限り」の下りの「設定」とは何を指すのでしょうか?(・・;
DXライブラリの設定でしたら、確かに LoadGraphToResource 関数で読み込んだ後はVRAMに画像データは
存在しています。
> LoadGraphToResource()で画像データをビデオメモリに読み込んだ後は、
> 元のリソースは開放(?)してもいいのでしょうか?
はい、良いです、解放してしまってOKです。
> 後、開放の仕方を教えてくださると助かります。
なんのでしょうか?(・・;
リソースでしたら、確か解放する必要は無かったはずです。
LoadGraphToResource で作成したグラフィックハンドルでしたら DeleteGraph でグラフィックハンドルを削除すれば
解放したことになります。
|
Re: リソースを読み込んだ後 ( No.2 ) |
- 名前:wakahage 日時:2008/11/15 16:05
返答遅れてすみません。
設定とは"グラフィックデータをVRAMに置くか、システムメモリに置くか" なる設定です。
読み込んだ後、システムメモリに残存するリソースを消したいです。
>リソースでしたら、確か解放する必要は無かったはずです。
その分物理メモリが空くと思うのです。それとも、実際は仮想メモリにリソースは存在するのでしょうか?
|
Re: リソースを読み込んだ後 ( No.3 ) |
- 名前:管理人 日時:2008/11/17 02:28
> 設定とは"グラフィックデータをVRAMに置くか、システムメモリに置くか" なる設定です。
なるほど
でしたら、はい、確かに特に設定しなければ画像データは VRAM に配置されます
> 読み込んだ後、システムメモリに残存するリソースを消したいです。
> >リソースでしたら、確か解放する必要は無かったはずです。
> その分物理メモリが空くと思うのです。それとも、実際は仮想メモリにリソースは存在するのでしょうか?
そういうことでしたか
リソースは「ディスクからメモリに読み込む」「メモリから解放する」という概念が無く
「リソースにアクセスするためにロックする」「ロックを解除する」という形なので、
実際のメモリに読み込むタイミングやメモリから解放するタイミングの管理はOS任せと
なっていますので、明示的に「読み込んだリソースを物理メモリから解放する」という処理はありません
LoadGraphToResource では処理開始時にリソースをロックして、処理終了時にロックを解除しているので、
恐らくメモリが足りなくなったり、暫くアクセスされなかったりしたときに自動的に物理メモリから
解放されていると思います
|
Re: リソースを読み込んだ後 ( No.4 ) |
- 名前:wakahage 日時:2008/11/21 11:01
そうだったのかぁ…
まだまだ基礎がなってないことを実感しましたorz
とても勉強になりました。
本当にありがとうございます。
|