В идеале в браузере mousemove
должен запускать каждый кадр, когда мышь продолжает двигаться. Но когда клавиша нажата (или повторена) или отпущена, mousemove
прекращает срабатывание для кадра или двух. Мы можем проверить это с помощью следующего кода:
t0 = new Date().getTime()
window.onmousemove = function() {
t = new Date().getTime()
if (t-t0 > 20)
console.log(t-t0)
t0 = t
}
Постарайтесь, чтобы ваша мышь двигалась. Консоль будет печатать задержку mousemove
только тогда, когда вы нажимаете, отпускаете клавишу или удерживаете клавишу нажатой (потому что она повторяется).
Я проверял это как на Firefox, так и на Chrome. Я использую macOS 10.14.2.
Я пишу сетевую игру, поэтому мне нужно следить за тем, чтобы позиция мыши обновлялась каждый кадр. Любые решения, пожалуйста?