Показать сообщение отдельно
  #3 (permalink)  
Старый 11.12.2018, 10:18
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,730

Сообщение от Retro_1477
У меня есть игра, которая каждый кадр вызывает функцию mobileController
Или рони не увидел косяка, или я не прав, однако...
Ваша функция "mobileController" каждый раз, как вы её вызывает вешает на "body" по 3 обработчика.
Если эта функция вызывается 60 раз в секунду, то за эту секунду на body будет висеть уже 60*3=180 обработчиков событий.
Если после секунды ожиданий нажать куда-нибудь на страницу, то будут вызваны по очереди все 60 обработчиков для каждого из прослушиваемых событий.

Да и вместо трех обработчиков можно использовать 1, который также можно "упростить" в 2 раза.
function handler(e) {
    button2 = !(button1 = (window.innerWidth / 2) < e.changedTouches[0].pageX);
}

Последний раз редактировалось Nexus, 11.12.2018 в 10:24.
Ответить с цитированием