03/19 14:10 (
@gorry5) 3DSファンタジーゾーン、ホイッスルの音がヘロヘロになってるのがとても気になる。すげー気になる。ちょー気になる。理由が分かっているだけにせつない
03/19 14:13 (
@gorry5) サウンドチップエミュレーションの場合、ある程度の周期(1/60sとか1/120sとか)ごとに状態を取り出すんだけど、ホイッスルで使ってる状態変化の周期が「これに近いけどちょっとずれてる」くらいだとこういう現象が発生する
03/19 14:17 (
@gorry5) この周期は短いほどエミュレーション性能が上がるのだけど、短いほどマシンパワーを食うし音声途切れも発生しやすくなる。もちろんそのへんを詰めていないはずはないので、これが今の限界と見るしかないともいえる…
03/19 15:02 (
@gorry5) PCみたいに能力が十分にあったり、そうでなくても音楽用みたいな厳密なエミュレーションの場合はそれこそ「サウンドチップからの1サンプル毎」とか「サウンド制御用CPUのステート毎」とかの状態取り出しもわりと普通。けど携帯ゲーム機用ではさすがにそうはいかないのです…
03/19 15:11 (
@gorry5) あと手軽なのが「サウンドドライバの1割り込み毎」に状態を取り出す方式。ただこれはホスト側のPCMストリーミング周期と同期させるためにある程度バッファを大きくとらないといけない。イコール遅延するってことね…
03/19 16:06 (
@gorry5) 今回は音声のエミュレーションの話だったが、画面まわりでも同じような話はあって、例えば普通はVSYNC単位で再現すればいいところをスプライトダブラが入ったら画面何分割か単位の再現が必要だし、ラスタースクロールが入ったらHSYNC単位での再現が必要、そういう感じ
(zumi)