リファクタに賛成です。(099系のリファクタにはちょっと躊躇しますが)
ただ、私はしばらくドキュメント整備の方に注力します。すみません。
チャンネル定義に関する変更を rev. 919 で行いました。まだ続きます...
rev. 929 で大幅に変更を加えました(詳細は各チケットをご覧ください)。
ツッコミどころはたくさんあると思いますが、現状の作業分をコミットしたという感じです。
まだまだ続きます...
rev. 937 で行った大きな変更についてまとめます。
ELane は画面上に表示されるレーンと対応するようにしました。
これにあわせて ELane.RD, ELane.GtPick といった一見特殊なレーン定数は削除し、
これらに関連したロジックは適宜変更しました。
EPad は入力に対してひとつ割り当てるようにしました。
これにあわせて なにかが押されているかどうかを行う関数群で
楽器パートは指定しないようにしました(パッドだけ見ればよい)。
Config 用とわかれていたものを統合しました。
これにより EPart.System が追加されました。
また、これにあわせて
STDGBSValue (旧 STDGBValue ) を定義しました。これは従来の D/G/B に加え、
System をメンバに含みます。
パッド・チャンネル・レーン間で対応をとりたいとき
このクラスの静的なメソッドで変換を行うようにしました。
疑問点などあればよろしくお願いいたします。
リファクタお疲れ様です。
Release 104と比較して、演奏動作が重くなっているようです。(サウンド飛び、スクロールがたつきが発生して、動画との同期が取れなくなっていく・・・)
どこで動作が重くなったのやら。追々調べます。(が、しばらくは時間なし。。。)
ありがとうございます。
これは例のOOLの動画ですか?
Debug/Release/3D9Ex を試しましたがこちらでは事象を確認できませんでした。
ただ、動作は軽くしたいので、重くなってそうな場所を見なおしてみます。
私のところでも動作が重くなる症状出ています。どのリビジョンから、というのはすぐわかりませんが今知っているのは
・リビジョン954は滑らかでしたが、曲の後半に行くとフリーズするという症状がありました。
・最新のリビジョン979はけっこうガタガタします・・。チップが多いところでガタガタするような気がします。チップが何もないところで動画がガタガタせず滑らかでした。曲の後半でフリーズするという症状はなくなっています。
いずれもチップが多いとがたつくような気がします。なおドラムのみの譜面での確認しかしておりません
あと、選曲画面でのバスドラム二度押しでの簡易コンフィグの表示が効かなくなっていますね
それにしても・・私今回のレイアウト・デザイン本当に気に入っておりまして無事105のリリースになってほしいと思っております。
簡易コンフィグが表示されなかったというのはバスドラムのキー入力が設定されていなかったからだと思います。すみません。
私のところでは、チップの量に関係なく、重い感じ(プチフリっぽい動作)が起きるときには起きる、という感じです。(例えばoolですと、前奏でBGMがとぎれとぎれになったりすることがあります)。
そして、AP使用時間が長くなると、プチフリ度合いが増す感じ。そこで試しにCDTXManiaのDraw()ループの最後のあたりに
GC.Collect( 0, GCCollectionMode.Optimized, false );を入れて、毎フレーム描画ごとに強制的にレベル0のGCを(バックグラウンド実行で)入れてみたところ、そこそこ改善しました。
もちろん原因が分からないのにあてずっぽうの対策を入れても仕方がありませんので、このコードを実際に入れようとは思っていませんが・・・まあ参考情報の一つとして。
キーアサインが最初全部クリアされているのは、別チケットにしましょう。
なんとなく、ConfigのSystem/UseOSTimerがONの時に、負荷問題が発生するように感じます。なぜだろうか・・・。
リファクタ済みのRel105をリリースしましたので、本チケットはいったんクローズします。
リファクタ関連の要件が他にあれば、追加でチケットを発行してください。
#36028 に関連します。
コードのリファクタリングを行いたいです。
現在考えているのは具体的には次のようなものです。