ナナエフ

同人ゲームサークル『7-FIELD』制作ブログ  -ゲーム制作やイベント参加などの活動情報 + 雑記-

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

DirectX.AudioVideoPlayback.Audio のリソースを解放できた・・・か?

tetsuwoです。 【 twitter

無事解決!スッキリ!

とは言えないながらも、一応はメモリリークが改善されました。

・・・このモヤっとする感じの対応、どうにかしたいものです。

  【 参考 】 130617 - DirectX.AudioVideoPlayback.Audio のリソースを解放できない?
 
 
対応内容

AudioのDisposeメソッド実行は今までどおり行っておりますが

開放時は上記に加え、Audioインスタンス に null を代入する事にしました。


その部分以外は共通のモジュールを作成し、同じ数だけ読込・解放を実施してみた結果

null を代入する方が、保持メモリが少なくなることが分かったので対応完了。


とりあえずはそれで一段落、としましたが・・・


Audio の解放について

元々行なっていた Disposeメソッドは、Microsoftから出されている公式の説明を見ても下記の通り。

  【 Audio.Dispose() 】 - msdn

    Dispose メソッド   オブジェクトが使ったアンマネージのリソースを直ちに解放する。


このメソッドを動かすと、Audioのインスタンスが空になるわけではなく、データが入ったまま再生不可なります。

「 Audio.Disposed = true 」といった状態です。




気になるのは、使用機会が少ない音は読み込んだまま保持し続けるのが一般的なのか?

また、一度 Dispose で開放した音は再利用しないのか?ということ。



Dispose を実行すると、前述の通り再生できない音情報を保持し続ける。

「Disposed」の状態を false → true に変更することが出来れば、新たに音を読み込むことなく再利用できそうですが

調べても、その手段は無さそう。

Closeメソッドもありませんし(存在すれば、Openメソッドで復活できたかも)。


それで、「どうせ再利用出来ないのなら null を入れてしまえ!」としてみた結果、メモリリークが改善されてしまった。

・・・Disposeメソッドが何のために有るのかよくわからなくなりました。



どうしてこんなことになったのか、私にはわかりません。

これを読んだあなた。Audioを有効に扱う手段を暴いてください。 それだけが私の望みです。

ガリガリ。


宣伝

2031年 秋、北守新都市。生活にAR技術が根付いたこの街で

"傷"を抱えた7人がそれぞれに見出す"真実"とは。


ad4_introduction01.png

当サークル第2弾作品「薄鈍アドベント」DL販売中です。

体験版も公開しておりますので、目に止まりましたらお試しあれ。
 
スポンサーサイト
  1. 2013/06/19(水) 19:00:00|
  2. 制作
  3. | トラックバック:0

トラックバック

トラックバック URL
http://7fblog.blog.fc2.com/tb.php/222-78153e9d
この記事にトラックバックする(FC2ブログユーザー)

カウンター

プロフィール

akinasi, tetsuwo

Author:akinasi, tetsuwo
FC2ブログへようこそ!

検索フォーム

カレンダー

03 | 2017/04 | 05
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

告知 (63)
制作 (88)
ソフト紹介 (19)
素材紹介 (10)
言外 (7)
雑記 (361)
ナナエ (29)

リンク

このブログをリンクに追加する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。