続 再生キャンセル

direct_sound_sinkのコンストラクタでバッファをフラッシュするのをやめました。
direct_sound.cppの差分
close()した場合はフラッシュ、close()せずにデストラクタが呼ばれた場合はキャンセルという意味合いです。


さらに、action_gameの再生バッファを調整したところ、ジャンプ時の遅延が低減されました。
sound_engine.cppの差分
調整前は最大で407ミリ秒(24.42フレーム)の遅延があったのが、0〜2フレームほどになり、ほとんど気にならなくなりました。
どうしてもスレッドの切り替えと終了待ちに時間がかかってしまうので、遅延を完全になくすにはスレッドを使わないようにするしかないと思います。
面倒なので今回はこのままにしておきます。