○概要
ご存知のとおり・・・・かは知りませんが、DTXManiaはDirectSoundで音声出力しています。
Windows7ではOSの仕様変更等によりそこらへんの処理がXPと違い、
結果Windows7ではXPより反応が遅く、発生時刻にズレが出てしまいます。
さらにOSでのラグは少しだけで済むのですが、32bitならともかく64bitは大きくズレます。
(友人曰く32bitと64bitはほとんど別物)
細かい説明→http://blogs.msdn.com/b/windows_multimedia_jp/archive/2010/06/28/4-windows7.aspx
上のサイトに書いてあるとおり、7ではDirectSound H/Wが使用できません。
そのため直接ハードウェアにアクセスできないのでわざわざ遠回りを・・・・というわけです。
DTXMania - SourceForge.JP #28914: Win7での反応遅延こっちにもありますが、
「単にWin7だと(HWアクセラレーションが使えない関係で)サウンド出力が遅くなってるってだけだというオチだったらイヤですね。
SSTのソースを借用して、WASAPI/ASIO対応を試してみますか・・・。」(yyagi氏)
「webでいろいろサウンドについてみていると、
:遅延の根本原因は、Windows標準のDirect Sound APIがそもそも遅延が大きいものであることが影響している
ということでやはり悩んでおられる方がおり、ASIO/WASAPIで改善出来た」(sf298yen氏)
ということからWASAPI、ASIOなどの出力方法を使うことによって解決できる確率が大きいということになりそうです。
○大まかな内容
・SSTのソースからWASAPI、ASIO関連のコードを持ってきて修正。
・DTXManiaで使えるようにするオプションを作る。
・音が鳴って遅延が無くなるようにする。
・検証環境は家にWin7の32bitと64bitが両方あるため、これらで検証。
・ちなみにDTXHDを64bitのノートPCで起動したところ、処理落ちは無いが恐ろしくサウンドの出力がズレる。
○その他
・これらの実験はメインのビルドとは別に作る。
・むしろ当たり前である。
第1回はこれにて終了。
PR