Tíquete #36043

コードリファクタリング

: 2016-02-21 16:00 Última Atualização: 2016-08-02 12:00

Relator:
Dono:
Tipo:
Estado:
Fechado
Componente:
Prioridade:
5 - Medium
Gravidade:
5 - Medium
Resolução:
Fixed
Arquivo:
Nenhum
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Details

#36028 に関連します。

コードのリファクタリングを行いたいです。

現在考えているのは具体的には次のようなものです。

  • 型安全な比較 (極力チャンネルをint等で扱わない)
  • ネスト型の partial 化 (CDTX によってネストされた型定義を partial にして別のファイルへ移す)
  • 似たようなロジックの一般化 (これは個別チケットになるかな・・・?)

Ticket History (3/13 Histories)

2016-02-21 16:00 Updated by: chnmr0
  • New Ticket "コードリファクタリング" created
2016-02-21 17:18 Updated by: yyagi
Comentário

リファクタに賛成です。(099系のリファクタにはちょっと躊躇しますが)

ただ、私はしばらくドキュメント整備の方に注力します。すみません。

2016-02-21 19:50 Updated by: chnmr0
  • Dono Update from (Nenhum) to chnmr0
Comentário

了解です(099に関しては私も同意権です)。

2016-02-22 19:58 Updated by: chnmr0
Comentário

チャンネル定義に関する変更を rev. 919 で行いました。まだ続きます...

2016-03-15 20:01 Updated by: chnmr0
Comentário

rev. 929 で大幅に変更を加えました(詳細は各チケットをご覧ください)。

ツッコミどころはたくさんあると思いますが、現状の作業分をコミットしたという感じです。

まだまだ続きます...

2016-04-10 01:07 Updated by: chnmr0
Comentário

rev. 937 で行った大きな変更についてまとめます。

ELane (旧Eレーン) の定義

ELane は画面上に表示されるレーンと対応するようにしました。

これにあわせて ELane.RD, ELane.GtPick といった一見特殊なレーン定数は削除し、

これらに関連したロジックは適宜変更しました。

EPad (旧Eパッド) の定義

EPad は入力に対してひとつ割り当てるようにしました。

これにあわせて なにかが押されているかどうかを行う関数群で

楽器パートは指定しないようにしました(パッドだけ見ればよい)。

EPart (旧E楽器パート) の定義

Config 用とわかれていたものを統合しました。

これにより EPart.System が追加されました。

また、これにあわせて

STDGBSValue (旧 STDGBValue ) を定義しました。これは従来の D/G/B に加え、

System をメンバに含みます。

EnumConverter の追加

パッド・チャンネル・レーン間で対応をとりたいとき

このクラスの静的なメソッドで変換を行うようにしました。

疑問点などあればよろしくお願いいたします。

2016-04-11 01:23 Updated by: yyagi
Comentário

リファクタお疲れ様です。

Release 104と比較して、演奏動作が重くなっているようです。(サウンド飛び、スクロールがたつきが発生して、動画との同期が取れなくなっていく・・・)

どこで動作が重くなったのやら。追々調べます。(が、しばらくは時間なし。。。)

2016-04-13 00:47 Updated by: chnmr0
Comentário

ありがとうございます。

これは例のOOLの動画ですか?

Debug/Release/3D9Ex を試しましたがこちらでは事象を確認できませんでした。

ただ、動作は軽くしたいので、重くなってそうな場所を見なおしてみます。

2016-04-14 00:31 Updated by: koh-hey
Comentário

私のところでも動作が重くなる症状出ています。どのリビジョンから、というのはすぐわかりませんが今知っているのは

・リビジョン954は滑らかでしたが、曲の後半に行くとフリーズするという症状がありました。

・最新のリビジョン979はけっこうガタガタします・・。チップが多いところでガタガタするような気がします。チップが何もないところで動画がガタガタせず滑らかでした。曲の後半でフリーズするという症状はなくなっています。

いずれもチップが多いとがたつくような気がします。なおドラムのみの譜面での確認しかしておりません

あと、選曲画面でのバスドラム二度押しでの簡易コンフィグの表示が効かなくなっていますね

それにしても・・私今回のレイアウト・デザイン本当に気に入っておりまして無事105のリリースになってほしいと思っております。

2016-04-14 07:57 Updated by: koh-hey
Comentário

簡易コンフィグが表示されなかったというのはバスドラムのキー入力が設定されていなかったからだと思います。すみません。

2016-04-14 21:53 Updated by: yyagi
Comentário

私のところでは、チップの量に関係なく、重い感じ(プチフリっぽい動作)が起きるときには起きる、という感じです。(例えばoolですと、前奏でBGMがとぎれとぎれになったりすることがあります)。

そして、AP使用時間が長くなると、プチフリ度合いが増す感じ。そこで試しにCDTXManiaのDraw()ループの最後のあたりに

GC.Collect( 0, GCCollectionMode.Optimized, false );
を入れて、毎フレーム描画ごとに強制的にレベル0のGCを(バックグラウンド実行で)入れてみたところ、そこそこ改善しました。

もちろん原因が分からないのにあてずっぽうの対策を入れても仕方がありませんので、このコードを実際に入れようとは思っていませんが・・・まあ参考情報の一つとして。

キーアサインが最初全部クリアされているのは、別チケットにしましょう。

2016-06-06 03:30 Updated by: yyagi
Comentário

なんとなく、ConfigのSystem/UseOSTimerがONの時に、負荷問題が発生するように感じます。なぜだろうか・・・。

2016-08-02 12:00 Updated by: yyagi
  • Resolução Update from Nenhum to Fixed
  • Ticket Close date is changed to 2016-08-02 12:00
  • Marco Update from (Nenhum) to 既存機能の仕様変更
  • Componente Update from (Nenhum) to DTXMania
  • Estado Update from Aberto to Fechado
Comentário

リファクタ済みのRel105をリリースしましたので、本チケットはいったんクローズします。

リファクタ関連の要件が他にあれば、追加でチケットを発行してください。

Attachment File List

No attachments

Editar

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login