バグ:カードビューを詳細表示にすると応答が遅れる事が頻発する

Issue #335 resolved
ルンバ created an issue

シナリオを問わずカードビューの表示を詳細表示にすると、カードビュー内のクリックの応答が重くなることが頻繁に起きます。カード画像から詳細表示への切り替え直後に高確率で発生し、詳細表示のままアイテムカードから情報カードに切り替える等の別の種類のカードビューに切り替えた時にも低確率で発生します。また詳細表示のままでいくつかのカードを連続でクリックした時にも発生する事があります。応答が無くなるのは数秒から長い時で数十秒ですが、カードビュー以外の領域をクリックすると正常に復帰する印象です。応答不能時はタスクマネージャーではCPU使用率と電力消費が高くなっています。

Build: 2020-02-01 16:08:25 Release (64-bit)
Compiled by Digital Mars D 2090

Build: 2020-01-18 17:40:41 Debug (64-bit)
Compiled by Digital Mars D 2090

症状が確認できたのは以上ですが、これ以前から発生していた気もします。

Comments (8)

  1. ルンバ reporter

    関係があるかはわからないのですが、シナリオセーブ直後にエディターが異常停止する事も時々発生しています。(以前程頻繁では無い印象)エラーログは出ていません。

    なお最近エラーログが出たフリーズは書式の誤ったxmlをペーストした時ぐらいですが、書式の誤ったxmlペーストでのフリーズはエディターのバグでは無く、正常な挙動かと思っており今まで報告はしておりませんでしたが、それも報告は必要でしょうか?

  2. k4nagatsuki repo owner

    ご報告ありがとうございます。

    これはカードのプレビューの生成に時間がかかっている事が原因かもしれません。設定の「その他>詳細>全般>カードと背景のプレビューを表示する」をオフにして試していただけないでしょうか。

    もしそれが原因だったとしても、重さを感じさせなくするためにはちょっと仕様をいじる必要がありそうです。


    予期せぬハングアップは私のところでもたまに発生するのですが、いまだに正体を掴めていません。

    もし再現性のあるフリーズや強制終了が発生したら、再現方法を教えていただけないでしょうか。


    なお最近エラーログが出たフリーズは書式の誤ったxmlをペーストした時ぐらいですが、書式の誤ったxmlペーストでのフリーズはエディターのバグでは無く、正常な挙動かと思っており今まで報告はしておりませんでしたが、それも報告は必要でしょうか?

    XMLを処理するライブラリの中で、特定の壊れ型をしたXMLデータを読み込むとアクセス違反が発生する問題が確認されています。#319を参照してください。

    現状のアクセス違反の問題は、32-bit版ならなんとかキャッチできるものの、64-bit版ではそのままアプリケーションが落ちてしまう事です。

    32-bit版で貼り付けた時にエラーのあるXMLデータが正しく無視されるかどうかで、この問題に該当するかが判定できるはずです。

  3. ルンバ reporter

    「その他>詳細>全般>カードと背景のプレビューを表示する」をオフにしてみたところ、詳細表示への変更後や別種のカードの詳細ビューへ切り替え後の応答遅れは解決したようです。

    しかし、同じ詳細表示ビューでいくつかのカードを適当に連続してクリックした場合は、
    「ちょっとだけドラッグをしたが、順番が動くほどには動かさずに位置が変わらなかった」場合には応答が遅れる症状が残ります。

    これに関連し、新たに気づいたのですが、「その他>詳細>全般>カードと背景のプレビューを表示する」がONでもOFFでも詳細表示でカードの順番をドラッグで変えた場合に高確率で応答が遅れます。

    また、その際に変更されているはずのID表示が更新されない場合があるようです。(元のID表示のまま移動し昇順でない乱れたID順に表示される)ID表示が更新されないのはCtrlとカーソル移動でも起きることがあります。
    その場合一旦別のビューを表示してから再表示すると正しいID順に治っています。

    セーブ時の予期せぬハングアップに関しては、データが損壊する事はほぼなかったのですが、一度多くのカードのID順を大きく変更したあとセーブした時のハングアップでは、直後にエディタを立ち上げ同シナリオが自動ロードされたら、IDを変更したカード群が消滅していた事がありました(バックアップデータから復旧できました)
    普段からカードの細かいID変更(並び順の変更)は時々行っていますのでID変更に関係があるかもしれない気がしますので気にして作業してみます。

    さらに別問題ですが、誤書式xmlペースト時のエラーログは一応報告したほうがいいという事ですね?

  4. k4nagatsuki repo owner

    確かに移動処理後に反応が遅れるようなので、何が原因か調べてみます。お待ちください。

    IDについては別の問題かもしれません。IDが変わると保存するファイル名が変わるので、その辺りが関係している可能性はあります。

    さらに別問題ですが、誤書式xmlペースト時のエラーログは一応報告したほうがいいという事ですね?

    64-bitでは落ちるが32-bitでは問題ないというケースの場合、対応のしようがない可能性があります。

    そのケースを報告するかどうかはおまかせします。

  5. k4nagatsuki repo owner

    pull request #612

    どうやら、GUIツールキットのバグなのか、ツールチップの更新で(それが空文字列であっても)異常に反応が遅れる現象が発生するようです。

    回避手段が見つかったので対応しておきます。

  6. ルンバ reporter

    ご対応ありがとうございます。確認したところ、遅延は解決されたようです。ただ詳細表示の際ctrl+カーソルでのカード順移動の際にIDが変更されない表示バグが残っているようです。ビューを切り替えても変更されないままで表示をカード表示に切り替えると正常になります。

  7. k4nagatsuki repo owner

    pull request #613

    ありがとうございます。これは表示だけのバグでした。

  8. Log in to comment