バグ: 環境によってイベントビューの再描画が正常に行われない

Issue #296 resolved
k4nagatsuki repo owner created an issue

https://bitbucket.org/k4nagatsuki/cwxeditor/issues/292#comment-50755581

手持ちのWin7 64-bit環境で設定を合わせ、gdippをインストールしても、現象は再現できませんでした。

スクリーンショットを見た感じ、再描画が行われた位置に左上隅の表示内容が出てしまっているように見えます。

4.1では発生せず5.0では発生するという事ですが、その間にイベントツリービューにあった大きな改造は以下の二点です。

  • 行番号の表示
  • 高DPI対応

@ra38さんに試していただきたいのですが、行番号表示を一度オフにしても依然問題が発生するか見ていただけないでしょうか。

行番号表示の有無は、イベントビューのツールバー上の「傾き」の左にあるボタンで切り替えられます。

Comments (13)

  1. ra38

    回答ありがとうございます。

    行番号表示OFF、cwxeditor_test_20190225の使用、どちらも試してみましたが改善しませんでした。

    こちらでも色々試して気づいたことがあるので追加でお知らせします。

    1. マウス操作で動かすのではなく、マウスホイールで画面をスクロールさせる時は問題がでません。ただし、ホイールスクロールさせると高頻度でチラつきが発生します。(ver4では問題なし)
    2. ver4とver6を並べてみたところ、ver6はスタートコンテント行を選択したとき「利用数1」と表示されている部分だけ選択色が1~2ピクセル太いようです。直下の行を選択すると上で飛び出ていた分白く反転します。画像レイヤーのように四角が重なっているように見えます。

    (2)が自環境だけの場合、怪しいのはやっぱりフォント回りでしょうか?

  2. k4nagatsuki reporter

    その部分は、はみ出ている事に気づいて調節した記憶があります。ですのでおそらく関係ありません。

    マウスを動かして異常が起きるという事は、おそらく問題はマウスカーソルの下を薄い青で表示する際に起きているのでしょう。4.1で利用数の部分が反転するのは、上下の行を再描画した時の異常に巻き込まれているのだと思います。

    試しにカーソル下の色変更を無くした版を作ってみました。

    https://bitbucket.org/k4nagatsuki/cwxeditor-k4nagatsuki/downloads/cwxeditor_test_20190226.zip

    部分的な再描画自体が問題なのであれば、クリックして選択を変更した時に同じ問題が起きるはずです。そうでない場合は他の問題がありそうです。

  3. k4nagatsuki reporter

    色変更を無くすだけでなく、カーソルを動かした時の再描画自体極力発生しなくした版です。

    https://bitbucket.org/k4nagatsuki/cwxeditor-k4nagatsuki/downloads/cwxeditor_test_20190226b.zip

    • 一つ上の版で問題が起きないようであれば、再描画が指定された事ではなく、薄い青の部分的な描画に問題があります。
    • こちらの版で問題が起きなくなるようであれば、再表示が指定された事自体に問題があります。
    • どちらでも依然起きるようであれば、まったく別の原因です。
  4. ra38

    細やかな対応ありがとうございます。

    • cwxeditor_test_20190226 → 改善せず
    • cwxeditor_test_20190226b → 改善。ホイールでのチラつきもなし

    アップしていただいた実行ファイルで「ゴブリンの洞窟」を展開したところ、このような結果になりました。

    部分的な再描画自体が問題なのであれば、クリックして選択を変更した時に同じ問題が起きるはず

    cwxeditor_test_20190226で試したところ、マウス移動で描画がおかしくなったあとに何れかの行をクリックで選択すると乱れていた表示がすべて正常に戻りました。何度か繰り返し同じ操作をしましたが、結果は同様です。

  5. k4nagatsuki reporter

    すみません、確認したところ、選択操作では全体再描画がかかっていました。逆にいうと、ビュー全体がリフレッシュされる時には問題が起きない事が確認できた事になります。

    部分再描画だけが問題なのであれば、カーソル下のコンテントが代わるたびに全体再描画を行えばよいはずです。ただしそれではパフォーマンスが悪化します。

    それから、部分描画を行っている事は4.1でも同じです。ツールキットやコンパイラのバージョンが上がった事で問題が発生している可能性もあり、そうなるとcwxeditor側では対処のために全体再描画を選ばざるを得なくなります。

    https://bitbucket.org/k4nagatsuki/cwxeditor-k4nagatsuki/downloads/cwxeditor_test_20190226c.zip

    とりあえず怪しそうな部分に手を入れてみました。これで改善するか見ていただけないでしょうか。

  6. ra38

    「cwxeditor_test_20190226c」ではこれまで同様、描画に問題がでます。取り急ぎご報告のみさせていただいます。

  7. k4nagatsuki reporter

    すみませんがもういくつか試していただけないでしょうか。

    1. https://bitbucket.org/k4nagatsuki/cwxeditor-k4nagatsuki/downloads/cwxeditor_test_20190226d.zip 再描画要求後にupdateを入れたもの
    2. https://bitbucket.org/k4nagatsuki/cwxeditor-k4nagatsuki/downloads/cwxeditor_test_20190226e.zip 再描画範囲を4.1に合わせて調節したもの
    3. https://bitbucket.org/k4nagatsuki/cwxeditor-k4nagatsuki/downloads/cwxeditor_test_20190226f.zip 再描画範囲を縦0の位置から目的の再描画箇所まで広げたもの

    私の予想では最後のもので症状が改善するはずです。ただし描画範囲が大きくなるので、速度は悪化すると思います。

    もし1.か2.で改善するようであれば、再描画範囲を思い切り大きくしなくても済みます。

  8. ra38

    パソコン側のグラフィック設定を変えて改善しないか試してみましたが、やはり変わりありませんでした。お力になれずすみません。

    アップしていただいた3つのファイルで、それぞれゴブリンの洞窟を開いて確認しました。予想された通り、最後の末尾fのファイルでのみ改善します。

    既に利用している人たちに問題が起きていないなら、自環境が原因で発生している可能性もあると思います。こちらを改善するために他の多数の人たちの使い勝手を悪くしてしまうのは申し訳ないです。

    シナリオ作成はWirthBuilderでも行えるので、別のパソコンに乗り換えるなりで環境が変わったらまたxeditorを試してみようと思います。対応ありがとうございました。

  9. k4nagatsuki reporter

    pull request #421

    確かにこの問題は環境依存のようですが、実際に問題の出る環境が1つある以上、他にもある事を想定する必要があります。ですので何らかの手段で改善しなければなりません。

    再描画処理の対策をオプション化する事も考えたのですが、手持ちのやや古い環境で試してみても、上の3.のバージョンと他のバージョンで体感できるほどパフォーマンスの差は無いようです。正確に測定すると若干遅くなってはいますが、使用者が感知できなければ問題はありません。という事で、そのまま対策をマージしました。最新のテスト版をお試してください。

    なお、この対策はWin7以前の環境で機能するようにしてありますので、Win8以降には影響しないはずです。もしかするとWin8以降のOSでも環境によって同じ問題が出るかもしれません。もし今回のような不具合がまた発生した場合はお知らせください。

  10. ra38

    最新のテスト版を試したところ問題がでなくなりました。ありがとうございます!

    Win7から乗り換えても愛用のソフトウェアは使用不可にならない限り新しいパソコンにインストールするので、確かにWin10でも起きうる可能性はあります。無いことを祈りますが、そのときはまた改めてご報告します。

    重ねてありがとうございました。

  11. Log in to comment