Silverlight MouseMove: найдите недостающие очки во время движения

StackOverflow https://stackoverflow.com/questions/3020347

  •  26-09-2019
  •  | 
  •  

Вопрос

В приложении в Silverlight я работаю, мне нужно отслеживать движения мыши. Моя проблема заключается в том, что используя событие MouseMove, у меня нет непрерывного набора точек, если пользователь перемещает достаточно быстрое мышь (если я добавляю каждую точку в списке, который я могу иметь (10,10) en тогда (20,20 ) ...)

Я хотел бы иметь все очки, где мышь была во время движения. Есть ли у вас какие-либо идеи ?

Это было полезно?

Решение

Это не может работать эффективно. Событие MouseMove Silverlight ждет ОС, чтобы отправить сигнал с координатами к нему. Операционная система не стреляет свое событие для каждого единственного точка, которую она движется, если она перемещается очень быстро. Большинство ОС выполняет бесконечные петли, которые проверяют состояния машин, если эти петли будут быстрыми, то это, вероятно, заберет MouseMove для каждой точки. Если мышь перемещается из (1,1) до (20,20) в 0,001 мс, ОС, вероятно, позвонит событию в (10,10), или он вообще не будет, если цикл не ударит его вовремя.

Способ того, как вы можете ускорить это, уменьшается коды в вашей муземове или сделайте их Async.

Другой способ - это математический способ, чтобы рассчитать путь на основе того, что вы уже собрали.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top