忍者ブログ

DTXManiaXG(ver.K)開発日誌

「-真のX-Gradeを見るまで俺は止まらない-」 DTXManiaXG(verK)の開発ブログです。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

ASIO対応のPCIeサウンドカードなら何でも低遅延なのか?

追記(2020/11/28):どうやら設定が詰めきれていなかったようです...
Xonar Audio Centerにある「オープンASIO」ボタンを押下、Latencyを4msにすることで、DTXManiaのバッファ数値が7msになりました。
誤った情報を流してしまい申し訳有りませんでした。

...あれ?それでもEventDrivenには負けてるぞ...?

ズバリ結論から言いましょう。「違います。」

最近ASUSのサウンドカード「XONAR SE」を入手しました。
いざDTXManiaを起動したところ、USB-DAC使用の警告メッセージ。あれ?
調べたところ、実はXONAR SE(上位モデルのAEも含む)は内部ではUSB接続になっているらしいのです。そりゃああの警告が出るわけだ。

以下、私の環境で設定されたバッファ数値の情報 ※DTXManiaALを使用
ASIO(XONAR SE):40ms
WASAPI Shared:44ms
WASAPI Exclusive:20ms
WASAPI Exclusive(EventDriven):4ms

はい、WASAPIに負けました。
とはいえSharedよりは小さい数値が出ているので、音ゲーが全く遊べないレベルということはなさそうです。
PR

Windows Animetion API



知りませんでした。これから勉強します。

メモリリーク解決に向けて

皆様ご存知の通り、Ver.Kにはメモリリークという致命的な不具合が存在しています。

で、このメモリリークについてですが、
つい先日、Ver.Kの派生プロジェクト「TJAP2fPC」の派生プロジェクト(これもうわかんねえな)の「TJAPlayer3」の開発をしているAioiLight氏がメモリリーク対策をしたコードのスクショをツイートしていまして。
それがCTextureクラスのIDisposable実装を作り変えたという内容でした。
Dispose実装を修正するという発想に目からウロコ。

それから「選曲画面で動けば動くほどメモリが消費される」とのことで。
これは曲名描画処理を行っているPrivateFont(またはPrivateFastFont)クラス周辺の解放ミスでした。
AioiLight氏も実証していますが、曲名描画処理を消すとメモリの推移はほぼ正しいものになります。


....みたいな記事を書いてたら引っ越しの準備に追われ、気がつけば1ヶ月経っていました。
めちゃくちゃ忙しすぎて今もギリギリな状況でこの記事を復活させている段階でございます。

で、この記事を保存したのが3月13日22時58分。
この前日と3日後にDTXMania本家でも新たなメモリリーク対策が行われています。
これを適用したVer.Kが...ごめんなさい。まだ用意できてないです。
少なくとも今コミットしてないやつを放ったらかしたままどっか行くとかはしないので、期待しないで待って頂けたら幸いです。

リリース予告

この記事は「DTXMania Advent Calendar 2017」24日目の記事です。


さて、今月25日をリリース目標にして頑張っていたDTXManiaXG(Ver.K)4.00ですが、



正直...全く終わりそうにありません。
先月から多忙により、開発に時間を割くことができませんでした。

9月の終わりから一通り演奏できるんじゃないかレベルになっていたXG風表示は置いて、(これがなければみんなVer.Kを使わないとも言える)GITADORA風表示に着手しました。
時間が取れないながらも選曲画面、演奏画面と少しずつ手を加えていき、まあそれっぽく見えるんじゃないかレベルまではできています。
特に画像パーツを作る暇が無かったので「数字フォント」は致命的です。

不足点が多いとはいってもリリースしないわけにはいかないので、予定どおり25日にリリースしたいと思います。

なお、4.00以降はXGとGITADORAの表示が1つの本体で実現できます。というかできました。
これによって長いこと問題になっていた「XG本体とGD本体の格差」が解消されるはず。

出来ることは全てやりました。
皆様、明日は思う存分がっかりしてやってくださいorz
(※さらにデモ動画用の譜面も無い)


・明日の予告先発
有終の美を飾ることもない最終日の担当は山奈MIRさんです。というか私です。

スコア計算

Ver.KでXGスコア計算を実装した2012年9月18日から3年以上経過しましたが、最初は完璧とは言えない計算でした。
エクセ時は一番最後のノーツで1000000点になるよう帳尻合わせをするのですが、それの実装方法がクソで、最後に加算する点数を「1000000 - 現在のスコア」にしていました。
これは実装方法としてそこまでよろしくないのです。


実装しているうちに気づいたのですが、帳尻合わせの時には"コンボ補正がされません。"
つまりコンボ補正値を50ではなく1にすればいいのです。
再実装しようとしたRebuild版ではこれに気づかず苦労しました。...過去に実装したのにね^q^
BemaniWikiにも某サイトにも載ってなかったので...計算式が間違っているのかと...これで無駄に2時間消費しました。


あとこれはDTXManiaの場合ですが、スコア加算時には現在コンボ、各判定数の配列に加算されています。
これを忘れてしまうと最後の補正がうまくいきません。
(現在のパフェ判定から-1で分岐してしまうと、一番最後から1つ前のノーツで補正してしまいます。)

プロフィール

HN:
kairera0467
年齢:
26
性別:
男性
誕生日:
1997/08/11
自己紹介:
DTXManiaの新人開発スタッフ。
Maill:gennsou76573●gmail.com
(●を@に変えてくださいね。)

最新リリース

ブログ内検索