WASAPI動作をevent drivenにする
rev982で対応しました。
私のメイン環境 (Win8.1, DUO CAPTURE(USBオーディオ)) では、自動設定のレイテンシが32msから5msに大幅改善しました。その分CPU負荷が微増しましたが、バッファサイズを従来相当のものにすることで、サウンド処理のCPU負荷は半減しました。
ただ、バッファサイズを大きくすると、どうもサウンド再生が「へろへろ」になるようです (ピッチが少し下がり、ノイズが少し乗り、キー音のタイミングが不安定になる)。最初はタイマーのせいかと思いましたが、UseOSTimerをONにしても現象変わらず。解決できないようなら、 この機能はON/OFFできるようにしないとダメそうです。
なおこの機能は、Win7以降でのみ対応しています。Vistaでは、従来通りpollingによる動作になります(OSがWASAPIのevent driven制御に対応していないため)
当たり前ですがバッファサイズが初期設定の50だとへろへろしますね。 自分の環境では、OFFで32msに、ONで5msになりました。 これにより物凄く違和感なく視聴できるようになりました。ドラムオートプレイで確認しましたが問題ありません。
Rel105で、この機能を取り込みました。本チケットはクローズします。
現状、WASAPIのサウンドバッファ制御はpollingで行っていることが判明。event drivenな動作にすることで、CPU負荷減、レイテンシ改善を図る。