[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 03/03 08:20 / Filesize : 236 KB / Number-of Response : 805
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

NintendoDS(NDS)非公式開発 Part2



597 名前:Moonlight mailto:sage [2008/01/01(火) 23:06:37 ID:Ftb+OQMO]
>>593

割り込み内で直接デコードしちゃうのは危険ですー。
っていうほど危険じゃないのかも…。私が調べたときは、割り込み時にユーザスタックに切り替えてくれない割り込みハンドラだったので、スタックが極端に少なかったです。(今は大丈夫なのかも…)
とりあえずデコードはできているみたいなので大丈夫と仮定して次に。

16384Hzモノラル16bitの4096サンプル単位で再生しているようにみえました。
4096サンプルの演奏時間は0.25秒ですが、負荷計測してみたところ最初の4096サンプルのデコードが重くて処理落ちしているんじゃないかと思いました。
最初の4096サンプルのデコード(while(reedNeed>0)ループの所用時間)が209.268msで、次が22.791ms、37.251ms、22.740ms、37.393ms、という感じでした。
最初のフレームでも40ms残っているので間に合っているような気もしますが、とりあえず重いのは確かなのでリングバッファで8フレームくらい先読みすると(例えば今後他に重い処理を入れても平気になって)いいんじゃないかと思いました。

ov_read関数呼び出しの直後に
>volatile int i; for(i=0;i<0x10000;i++);
とか入れて、故意に重くしてみたときの音飛びと似ているように聞こえました。

最初の1フレームだけ極端に重いので、リングバッファじゃなくダブルバッファだけでも入れてみて様子を見たり…。(対処療法的なので誉められた対応ではないのですがテストで(笑))







[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<236KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef