スポンサーサイト

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

XNA:バグ退散!

2008年10月20日
数日前の日記に書いた、例の「8回繰り返したら落ちる問題」のその後なのですが、問題はどうやらXACT絡みだったようです。
タイトル画面⇔操作説明画面の繰り返しの再に、タイトル画面で初期化していたXACT関係のリソースが残っていたようで、XACT関係の初期化コードやらPlayメソッドやらを根こそぎコメント化したら、何事も無かったかのように問題無く動くようになりました。
念のため耐久テストがてらに、タイトル画面⇔操作説明画面を100往復させたのですが、問題無く無事テストは終了しました。
タイトル画面⇔オプション画面の往復の時に4回で落ちたのは、オプション画面にも別途XACT関係の初期化コードがあったので、タイトル画面とあわせて1往復で2回XACTを初期化していることになります。
操作説明画面ではXACTをつかってなかったので、当然初期化処理は倍行われており、8回の半分である4回で落ちたという結果になります。
多分、
XACTAudioEngineは何回も初期化しないでね
と、いう事なのでしょう。とりあえず詳しい事が判るまではそういう事にしておきたいと思います。

結局、ほとんど何もしていない(あえて言えば、タイトル画面コンポーネントをキックしてるぐらい)のGame1クラスでXACT関係の初期化を一回だけすることにしました。
一つのサウンドバンクにゲーム中で使う効果音をすべて組み込んでおけば、万事OKってことです。

いやはや奇妙な問題が発生した時は、地味な切り分け作業に限ります。ほんまマジで


スポンサーサイト
Comment
いつもみています
こんにちは、ちょくちょく拝見しております。これからも遊びにきます!

管理者のみに表示

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