動画配信用の設定

DTXManiaの初期設定は、DTXMania本体「だけ」を高速に動作させるための設定になっています。

そのため、動画配信など、「DTXMania本体と、動画のキャプチャが、同時に動作する」ような状況では、動画のキャプチャ側の動作に十分な性能が確保できず、その結果DTXMania本体の動作性能も悪くなる、といったことがありえます。

ここでは、DTXMania本体の動作負荷を軽減させるため変更すべき設定項目を紹介します。 これにより、動画配信の性能が上がると思います。たぶん。

設定の変更は、すべてCONFIGURATIONで行います。 (旧バージョンではConfig.iniを直接編集する必要がありましたが、現在はCONFIGURATIONで設定変更できます)

System/BackSleep

DTXManiaのウインドウにフォーカスを「合わせていない」場合の、画面描画ごとの待ち時間を、ms単位で設定します。AUTO演奏を動画キャプチャしたり配信したりする場合に、この値を大きくすることで、エンコードや配信の性能を向上できる可能性があります。

ここには、0以上の整数を指定できます。初期値は0で、これは「毎フレームの描画ごとに、一旦DTXMania以外のアプリに処理を渡す」ことを意味しています。あくまで処理を渡すだけで、どのくらいの時間の間処理を渡すかは運任せです。 例えばこれを2にすると、毎フレームの描画ごとに最低2msは他のアプリ(動画キャプチャソフト等)に処理を渡します。

動画配信時は、1~10ms程度の値を設定するのがよいと思います。

System/SleepTimePerFrame

DTXManiaのウインドウにフォーカスを「合わせている」場合の、画面描画ごとの待ち時間を、ms単位で設定します。自分の演奏画面を動画キャプチャしたり配信したりする場合に、この値を変更することで、エンコードや配信の性能を向上できる可能性があります。 ここには、-1以上の整数を指定できます(BackSleepと違って、-1を指定できます)。初期値は-1です。

0以上の値を設定したときの意味は、BackSleepと同じです。 -1を指定した場合は、毎フレームの描画が完了した時に、明示的に他のアプリにCPUの処理を渡すことはしません。

動画配信時は、これも、1~10ms程度の値を設定するのがよいと思います。

System/Sound Option/PolyphonicSounds

ドラムのレーン毎に、同じ音を最大何音重ねて発音させるか(=最大同時発音数)を設定します。 1~8の整数を指定することができ、初期値は2です。

従来はこの値の初期値が4でしたが、これを2にすることで、CONFIGURATION/System/SoundTypeをWASAPI(排他/共有)かASIOにしている場合は、DTXManiaの動作負荷を軽減することができました。(DSoundの時は、あまり変わりません・・・しかし、WASAPI/ASIOと比べると、大幅に動作負荷が小さいです。)

なお、ギターベースの最大同時発音数は、2か1です (PolyphonicSoundsが1のときに1, さもなくば2) 。BGM/SEは、この設定に依らず、常に1です。

ですから、動画配信の際には、この設定を2くらいに減らすとよいと思います。

その他

WASAPIを使用時、DTXMania本体がサウンドデバイスを占有するため、他のアプリでサウンドを扱えなくなります。従って、通常、演奏配信時にはWASAPIを使うことができません。(しかし、できる方法があるらしい。どなたかやり方を教えてください)

WASAPIを使用時、CONFIGURATIONでWASAPIBufSizeの値を大きめにすることで、DTXManiaのサウンド処理の負荷が軽減され、DTXManiaの動作が軽くなります。ただし、大きくし過ぎると逆に動作がおかしくなるので注意。50~100ms程度の設定にすればよいと思います。(ただし、大きくすればするほど、サウンド出力のタイムラグが大きくなります)

ASIOをお使いの場合は、ASIOのサウンドバッファを大きめにしてください。この設定は、サウンドドライバに付属している設定ツールや、ASIO capsなど、DTXMania以外のツールで変更します。(DTXMania本体ではこの設定を変更できません) 設定値を大きくし過ぎるとおかしくなる点は、WASAPIと同じです。

DSoundをお使いの場合は、サウンドバッファのサイズを変更しなくても、非常に動作が軽いと思います。