一旦DirectSoundでwave音鳴らせるようにさえできれば、あとは楽なのは色々弄ってて分かったが、問題はストリーミング再生か。
毎フレーム必要なだけバッファを読めばOKではあるが、シングルスレッドでやろうとするとディスクアクセス分のロスがでかいのでマルチスレッドでやらざるを得ない。そうするとリソースのローダと管理する部分から多かれ少なかれ別扱いを受けることになって、気持ちがいいものではないんだよなあ。
物理メモリがあふれかえってさらにページングもある時代なのでたかだかBGM1個に20Mほど割いてもなんら問題はないような気がする。あるいはogg圧縮しといてそのバイナリをロードしておいて少しずつデコードするのもいいのかもしれない。ここ数年の低価格化に伴って短命化しているHDDの寿命的にもね。

最近のコメント