ホーム › フォーラム › A5:SQL Mk-2掲示板 › ER:オブジェクト移動時の内部待ち判定がおかしい?
-
投稿者投稿
-
ぱんかれゲスト
お世話になっております
ER図のドラッグをした時に、どのオブジェクトを選択したか の選択をする際、
押下してから実際に移動をする際に、0.2秒のウエイトタイムがあります。その際、「いま選択したオブジェクト」の1個前が選ばれている状態で0.2秒を待ちます
その結果、ドラッグしてすぐ動かすと、1個前のオブジェクトが0.2秒ほど動いた後、
今ドラッグしているオブジェクトがおくれて動き出します。おそらく判定部で最後選択しているオブジェクトが配列が、クリックドラッグ判定する際、
マウスダウン時にとれている判定が1個で更新される前に移動がはじまってしまうため、
動きとしては1つ前のオブジェクトが別のオブジェクトを移動しようとするときずれてしまいますこの判定はクリックした時にオブジェクトがドラッグしたと判定して即座にずれることを
阻止するために組まれていたものと思われますが、機能していないと思われますすみませんがご確認いただければ幸いです
(2.18.b31)松原正和キーマスターぱんかれさんこんにちは。
こちら、エンティティAを選択しているときに、エンティティBの上をマウスを動かしながらマウスダウン&そのままドラッグすると、エンティティAが一瞬?ドラッグされるということでしょうか?
再現しようとしたのですが、再現しませんでした。なにか、再現手順等あるのでしょうか? あるいは、複数の端末で再現するのでしょうか?特にクリックしたときにオブジェクトをドラッグしたと誤判定するのを阻止する機能は実装していません。(あえて言うなら、デフォルトでは 5mm でスナップ動作しているので、それが誤ドラッグ防止になっているでしょうか)
ぱんかれゲスト条件ですが、様々試したところ、
「マウスを移動」状態で「ドラッグ開始」した際
(mouse_moveがtrueのときにmouse_downしたとき)に発生するようです
きっちり止めてきっちりマウスダウンし終わるまでマウスを1pxもずれないように
すると、約0.2秒後に選択がなされるため、発生しませんおそらく5mmスナップ以上のずれが起きる条件とくに
A0で縮尺を下げたりすると、5mmは結構近距離なので、発生しやすいかもしれません。なお、報告環境ではERにテーブルが100近くあり、リレーションが網目のようになっている
状態で、どのオブジェクトを選択したかの判定が末尾オブジェクトほど顕著に遅くなっている
可能性があります。この複合で、複雑な図でかつマウスダウンしたときマウスがぶれる癖が強い人ほど、
1つ前の選択オブジェクトが途方もなくズレていきやすい になります松原正和キーマスターぱんかれさんこんにちは。
一応、mouse_downとmouse_moveの順序が入れ替わるとかはないはずなのですが…。ちなみに、0.2秒での処理が何か入っているかというと入っておらず、単にオブジェクトが多すぎてフレームレートが下がっているのだと思われます。もうちょっと挙動を確認してみます。なお、エンティティが100近くあるとどうしても描画が遅くなるので、全エンティティを表示したページはエンティティレベルなどの表示に抑え、サブシステムごとのページを作って属性値などを表示するようにしたほうが分かりやすくなりますし、パフォーマンスも下がらないかと思います。
https://a5m2.mmatsubara.com/tips/er_submodel/ -
投稿者投稿