バグ:カード置き場・荷物袋のページ送りが一度に2ページ送られてしまう

Issue #852 new
カニ風味 created an issue

宿のメニューから荷物袋やカード置き場(パーティーを開いていない状態の宿でも発生)を開き、送り先を売却にした状態で▲か▼ボタンをクリックでしばらくページを送っていると、一度のクリックで2ページ分移動してしまう時があるようです。
Py 3.4、テスト版どちらでも発生するようで、拡張機能を表示をONにした状態のほうが発生頻度が高く感じました。キーボード操作でのページ送りでは発生しないようです。

Comments (13)

  1. カニ風味 reporter

    すみません、追記です。

    上の条件で◀か▶ボタンをクリックで左右のページ送りを繰り返していても、カード置き場or荷物袋が表示されるときに同じ現象が発生しました。こちらもキーボード操作や背景クリックでの左右移動では発生しないようです。

  2. k4nagatsuki repo owner

    現象からすると、チャタリングが最もありそうに思えるのですが(マウスのスイッチの故障で一度押すと何度もクリックが発生してしまう現象)、それ以外の場面でもたまに二重クリックが発生するという事は実際に無いでしょうか?

    ハードウェアの現象はソフト側の条件に関係なく起こるので、発生する場面が限定されるとしたらソフト側の不具合かもしれません。ただ、今の所手元で現象を再現できません。他に再現する方はいらっしゃらないでしょうか。

  3. 暗黒 騎士

    過去に自分が担当した(長月さんに教えて頂いた部分が大きいですが)押しっぱなし機能がwxの更新でバグったのかなと思って試してみましたが、自分の方では再現できませんでした。

    クリックの癖などで押しっぱなしによる2度目のページ送りが発生している可能性はないでしょうか?
    Ctrl+左右キーでのキーボード操作押しっぱなしではウェイトタイマーなしで高速移動になり、背景クリックには押しっぱなし機能はありません。

  4. カニ風味 reporter

    自分も最初はマウスの不調かと思い別メーカーの予備に交換したのですが、交換後も発生していたのでチャタリングでもなさそうな感じです。

    これを書き込む前にもう一度試したのですが、新規で宿を作り自動選択で作成したキャラ1体でPTを組み、リューンでコカの葉と掌破を荷物袋が3ページほど埋まるくらい購入して、送り先を売却にしてから下方向に荷物袋のページをクリックでめくって居たらやはり発生しました。

  5. k4nagatsuki repo owner

    再現する時のクリックのペースはどのような感じでしょうか?

    現行の値札の表示は少々重い処理なので、表示にもたついている間に異常なマウスイベントの受け取り方をしてしまっているのかもしれません。

    ゆっくりクリックした時は何も起こらないのであれば、たぶんこのケースだと思います。

  6. k4nagatsuki repo owner

    pull request #2621

    せっかくなので、値札の処理が少し軽くなるように努力してみました。効果があるかは未知数です。

  7. カニ風味 reporter

    度々すみません。少し前に帰宅して更新版を試してみたのですが、やはり2ページ送りは変わらないようです。

    普段使いしている宿で最初にこの現象が発生した時の状況を思い出してきたので、くどいですがもう一度順を追って発生までをお伝えします。

    発生したverはCardWirthPy_4.0beta1_x64(x86やテスト版ではない3.4でも発生)
    荷物袋内の技能カードと付帯を売却してSPを増やそうと思い、拡張機能のアイテムカードを表示のみをOFFにし、
    送り先を売却にした状態(売却以外を指定しているとまったく発生しない)で▼ボタンをマウスクリックして売っても良さそうなカードを探しているときに発生しました。
    アイテムのみを非表示にした時の荷物袋のページ数は6ページほどで、値段を確認しながらだったのでクリック速度はかなりゆっくり気味です。
    発生までのクリック回数は▼を10~20回ほどだったと思います。
    それと先程気がついたのですが、設定変更で表示倍率を1.9倍か2.0倍以上にしないとほぼ発生しないようです。

    自分だけの環境で発生しているようなので心苦しいのですが、これと似た条件でもう一度現象が発生しないかお試し頂けませんでしょうか?

  8. k4nagatsuki repo owner

    送り先を売却にした時とそれ以外とでは値札の表示以外に変化は無いので、やはり値札の表示が重いのが原因であるように思えます。

    試しに値札の表示のみを取り除いてみたバージョンを作ってみました。これで再現できるようであれば、原因は確定できます。

    https://bitbucket.org/k4nagatsuki/cardwirthpy-reboot-k4nagatsuki/downloads/CardWirthPy_test_20190903.zip

    ただ、描画が重いせいでクリック処理が二重に発生するというのはまた別問題です。そちらはまだ再現できていません。

  9. カニ風味 reporter

    ありがとうございます。

    試してみた所まったく発生しなくなったので自分の環境では値札表示が重かったようです。

  10. k4nagatsuki repo owner

    私の環境だと、テンポよく操作していると感覚的に2ページ送ったような感じになる事があるのですが、カード数が少ないなど軽いページで発生しているため、これは2回クリックしていると考えるべきです。ページの表示にかかる時間が変わる事でテンポがずれ、そのような現象が発生します。

    以下のようにすると発生しなくなります:

    • 1つのクリックから次のクリックまでに数秒待つ
    • ページ数を注視して1クリックで1ページ送られる事を確認する
    • 全てのカードが確実に描画された事を確認してからページを送る

    逆に、こうした事をしながらページを送っても値札表示の場合のみ二重クリックが発生するようであれば、少なくとも操作の検知~マウスイベントの発生~ソフトウェアの処理のどこかに何らかの問題があるという事になるかと思います。

  11. カニ風味 reporter

    cardwirthに使用していたPCを初期化してOSを入れ直した所、症状が改善しました。完全にこちらの環境の問題だったようです。限定的な状態でのみ発生していたのでバグと早とちりしてしまい、お手を煩わせてしまい申し訳ございませんでした。

    お忙しい中再現を試してくださったk4nagatsukiさん、暗黒騎士さん本当にありがとうございました。

  12. k4nagatsuki repo owner

    ありがとうございます。

    たぶん処理速度の問題だと思うので、改善した方がいい事ではあると思います。

    ちょっと今は安易な方法を思いつきませんし、複雑な方法を採ると別の問題が出そうなので簡単には手を出せないのですが、いずれどうにかしたいところです。

  13. Log in to comment