Audigy スーパーシンセサイザー

このエントリーをはてなブックマークに追加
394387
>>391

簡単に言うと、ウエーブのスルー処理では数ミリ秒の単位での処理が必要だからOSの挙動が無視できないんだよ。
これにはハード、ドライバ、APIの協調動作が必要だけど、Win95系のAPIはリアルタイム処理にまったく向いていない。

まず、メッセージの伝達時間に関してなんの保証もない。
メッセージをつかった方から安定してrec側-> play側にデータを渡すことはまず不可能。
また必要なタイミングでcpu時間を得ることができない。
スレッドの切り替え時間、同時に走っている他のプロセスの影響から数百ミリ秒以上の渋滞がでる場合も珍しくないし。
そのためマルチメディアタイマーの割り込みを利用するしかないわけだけど、Win95系ではさらに転送ルーチンを「サンクダウン」の手法で書き換える必要がある。
NT系ではマルチメディアタイマーの割り込みだけで結構いけるようだけど。

くわしくいっても理解できないだろうからこのくらいでな。
自分の頭で考えてからものをいえよ。