OSDN Ticket Archive


Ticket #38954

Win版 Piano Roll 2Dでピアノロールバーがちらつく

登録: 2019-02-10 17:28 最終更新: 2019-02-10 23:27

報告者:
yknk
担当者:
yknk
チケットの種類:
バグ
状況:
完了
コンポーネント:
MIDITrail Ver.1.2.x for Windows
マイルストーン:
Version 1.2.4 for Windows (完了済み)
優先度:
5 - 中
重要度:
5 - 中
解決法:
修正済み
ファイル:
なし

詳細

Piano Roll 2Dで、ピアノロールバーが重なるとちらつく場合がある。

iOS版チケットをマージ

  • #37616 iOS版 Piano Roll 2Dでピアノロールバーがちらつく

チケットの履歴

2019-02-10 17:28 更新者: yknk
  • 新しいチケット "Win版 Piano Roll 2Dでピアノロールバーがちらつく" が作成されました
2019-02-10 17:28 更新者: yknk
コメント

原因

Piano Roll 2Dでは、ノート(ピアノロールバー)のチャンネル間隔をゼロにすることで、 2D表示を実現している(PianoRoll2D.ini / ChStep=0.0)。 しかし各チャンネルのノートを同一平面状に重ねて描画することになり、 Zファイティングによってちらつきが発生していた。 一方、Piano Roll Rain 2Dでは、チャネル間隔を0.001としているため、 Zファティングは発生していなかった(PianoRollRain2D.ini / KeyboardStepZ=0.001)。

2019-02-10 17:29 更新者: yknk
コメント

対策

Piano Roll 2Dにて、ノートのチャンネル間隔をゼロから0.001に変更することで、 Zファイティングの発生を防ぐ。チャンネル間隔がゼロであることを判定に利用している処理は、 チャンネル間隔がゼロに近い場合(0.1未満)であれば、ゼロとみなすように変更する。 (0.001 * 16ch * 6port = 0.096)

PianoRoll2D.ini

ノートのチャンネル間隔をゼロから0.001に変更する。ChStep=0.001

PianoRoll2DLive.ini

ノートのチャンネル間隔をゼロから0.001に変更する。ChStep=0.001

MTTimeIndicator::_CreateVertexOfIndicator

タイムインジケータ(再生面)をライン描画に切り替える判定は、 再生面の幅がゼロの場合であったが、これを幅がゼロに近い場合(0.1未満)に変更する。

2019-02-10 23:27 更新者: yknk
  • 解決法なし から 修正済み に更新されました
  • 状況オープン から 完了 に更新されました

添付ファイルリスト

添付ファイルはありません