任务单 #36043

コードリファクタリング

开放日期: 2016-02-21 16:00 最后更新: 2016-08-02 12:00

报告人:
属主:
类型:
状态:
关闭
组件:
优先:
5 - Medium
严重性:
5 - Medium
处理结果:
Fixed
文件:
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Details

#36028 に関連します。

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

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

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

任务单历史 (3/13 Histories)

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

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

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

2016-02-21 19:50 Updated by: chnmr0
  • 属主 Update from (无) to chnmr0
评论

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

2016-02-22 19:58 Updated by: chnmr0
评论

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

2016-03-15 20:01 Updated by: chnmr0
评论

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

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

まだまだ続きます...

2016-04-10 01:07 Updated by: chnmr0
评论

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
评论

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

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

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

2016-04-13 00:47 Updated by: chnmr0
评论

ありがとうございます。

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

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

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

2016-04-14 00:31 Updated by: koh-hey
评论

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

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

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

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

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

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

2016-04-14 07:57 Updated by: koh-hey
评论

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

2016-04-14 21:53 Updated by: yyagi
评论

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

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

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

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

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

2016-06-06 03:30 Updated by: yyagi
评论

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

2016-08-02 12:00 Updated by: yyagi
  • 处理结果 Update from to Fixed
  • Ticket Close date is changed to 2016-08-02 12:00
  • 里程碑 Update from (无) to 既存機能の仕様変更
  • 组件 Update from (无) to DTXMania
  • 状态 Update from 开启 to 关闭
评论

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

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

Attachment File List

No attachments

编辑

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