Какие события являются наиболее интенсивными? - PullRequest
0 голосов
/ 07 декабря 2011

Какие события являются наиболее ресурсоемкими для прикрепления? Является ли наведение мыши «худшим», чем щелчок? Есть ли какие-либо события, которые, как известно, действительно резкие в браузере? Я в основном ориентируюсь на IE7, так как мы видим там проблемы с производительностью. Мы используем делегирование событий там, где можем.

Или, как я могу профилировать события, которые на самом деле работают, чтобы определить, какие из них оказывают наибольшее влияние на производительность во время выполнения?

Мне интересны сами события, пожалуйста, не говорите мне, что мне нужно посмотреть, что мои функции делают в этих событиях. Проблемы могут существовать там, но это не мой вопрос.

Ответы [ 3 ]

5 голосов
/ 07 декабря 2011

Итак, для начала, события, которые происходят чаще, могут быть более хлопотными. Таким образом, событие наведения мыши, которое запускается «непрерывно» при наведении курсора мыши на элемент, может оказать влияние на производительность более легко, чем событие щелчка, которое может сработать только так быстро, как пользователь может нажать.

Тем не менее, именно код, который вы поместите в свой обработчик, будет оказывать реальное влияние на производительность.

Если скорость стрельбы является проблемой, проверьте превосходный плагин jQuery throttle / debounce: https://github.com/cowboy/jquery-throttle-debounce

1 голос
/ 07 декабря 2011

Чем больше событие должно проверять (а затем выбрасывать), тем больше оно потребляет, то есть порядок от максимума до минимума:

  • mousemove генерирует событие при любом движении
  • при каждом перемещении указатель мыши выдает событие, если указатель на соответствующий элемент
  • указатель мыши должен наблюдать, где находится курсор, а затем что-то выбрасывать
  • щелчок мыши генерирует событие только при нажатии…
1 голос
/ 07 декабря 2011

Я бы предположил, что интенсивность обратного вызова пропорциональна тому, сколько раз он вызывается.

Такие события, как наведение мыши или ориентация на устройство, более требовательны, чем щелчок или подобное «одноразовое» событие.

...