OSDN Git Service

#24820 WASAPIからASIOへのfalldownが正しく行えるよう修正。
authoryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Thu, 17 Jan 2013 11:34:33 +0000 (11:34 +0000)
committeryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Thu, 17 Jan 2013 11:34:33 +0000 (11:34 +0000)
commitec337edbbd5ae48ae629fcd7b500d95352835a85
treec274993d4a316026b5956b902a9e5c6e88eea808
parent1fa8601f96093285183df0885b023013b65466c7
#24820 WASAPIからASIOへのfalldownが正しく行えるよう修正。
#24820 ASIOの出力デバイスをCONFIGURATIONで選択できるようにした(ASIODevice)。ASIOには既定出力デバイスという概念がないため、必ず出力デバイスをユーザーが選択する必要がある。(1つしかサウンドデバイスがない場合はその限りではありませんが)

#24820 ギター/ベースの、1つのwavあたりの最大同時発音数を、2以下に固定した。(PolyphonicSoundsが2以上の場合は2に、1の場合は1となる)
同様に、BGMと効果音については1固定とした。
この対応に伴い、Config.ini の PolyphonicSounds の初期値を4に戻した。

#24820 ミキサーへの登録/削除タイミングを、チップ音の種類により以下のようにした。
1つめの数字が、発音開始予定時刻のどれくらい前にミキサーに登録するかで、
2つめの数字が、発音終了予定時刻のどれくらい後にミキサーから削除するか。
・ギター/ベース音:   500ms, 500ms
・SE音:              200ms, 500ms
・その他(ドラム等): 1000ms, 800ms

#24820 曲データ演奏中のガベージコレクションのモードをInteractive(通常)からBatch(自動実行しない)に変更した。
ASIO時にGCが掛かって発音が発振することが少なからずあったため。
なお、そもそも重いGCが走らないようにする対応は今後も継続して行っていく。

#24820 ここまでの対応で十分な性能となったため、Config.iniのDynamicBassMixerManagementを廃止した。

#24820 DirectSound使用時のwavデータ読込を高速化した。(Clone()の実装)
#xxxxx テクスチャ解放後もクラス内部に画像のバイナリを保持していたのを止めた。(クラス内部には画像バイナリを保持しないようにした)
#24820 AdjustWaves機能を復活させた。DirectSound用。
#xxxxx CAct演奏ゲージ共通 や CActLVLNFont のOn非活性化()が正しく呼び出されるようにした。

git-svn-id: http://svn.osdn.jp/svnroot/dtxmania/branches/130101(DTXMania%20with%20%2324820SoundTimerVer)@494 16f42ceb-6dc6-49c8-ba94-f2d53467949d
14 files changed:
DTXManiaプロジェクト/コード/スコア、曲/CDTX.cs
DTXManiaプロジェクト/コード/ステージ/04.コンフィグ/CActConfigList.cs
DTXManiaプロジェクト/コード/ステージ/06.曲読み込み/CStage曲読み込み.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/CAct演奏ゲージ共通.cs
DTXManiaプロジェクト/コード/ステージ/07.演奏/CStage演奏画面共通.cs
DTXManiaプロジェクト/コード/全体/CConfigIni.cs
DTXManiaプロジェクト/コード/全体/CDTXMania.cs
FDK17プロジェクト/コード/03.サウンド/CSound.cs
FDK17プロジェクト/コード/03.サウンド/CSoundDeviceASIO.cs
FDK17プロジェクト/コード/03.サウンド/CSoundDeviceWASAPI.cs
FDK17プロジェクト/コード/03.サウンド/Cxa.cs
FDK17プロジェクト/コード/04.グラフィック/CTexture.cs
実行時フォルダ/DTXManiaGR.exe
実行時フォルダ/FDK.dll