HYPERSPACE UNIVERSE NEWS

Linux、Ubuntu、ネタ、SF、海外のニュース、その他諸々を扱うBLOG

SDL_mixerを大きなバッファサイズで使うのは、ゲームに不向き

2009-12-18 04:02:48 | PC プログラミング
音楽再生だけなら安定して再生させるためにバッファサイズが4096バイトでもいいけど、ゲームとなるとそれじゃダメ!
全く同期が取れていない~~~。
バッファが大きすぎて、遅延して効果音が出るっす~。
めっちゃ、まぬけだ~~。
付属のexampleのソースコードが4096バイトだったのでそのまま使ってた。(言い訳…)

256バイトだとバッファが小さすぎて、まともに再生されない。
512バイトでも、たまにおかしくなる。
自分の環境だと1024バイトから安定する。

レスポンスを良くするために周波数(frequency)を倍にし、バッファを半分の2048バイトにした。
これで前の4倍のレスポンスになる。(ぎりぎりゲームに使えるレベルと思われる)
Mix_OpenAudio( 44100 , MIX_DEFAULT_FORMAT , 2 , 2048 )

周波数デフォルト(22050Hz)で、バッファ1024バイトでも同じく分解能4倍。
Mix_OpenAudio( MIX_DEFAULT_FREQUENCY , MIX_DEFAULT_FORMAT , 2 , 1024 )

最新の画像もっと見る