В нашей игре javaScript у нас возникла проблема, когда события «touchmove» медленны и «janky» до тех пор, пока ориентация не изменится, и в какой момент они снова станут гладкими.Синхронизация Android Chrome прерывисто медленно до изменения ориентации
Медленность возвращается, когда игра выполняет большую работу, как загрузка уровня.
Вот видео, в котором показано движение медленного касания в действии и изменение ориентации, которое устраняет проблему.
следующее предупреждение появляется в журнале
Обработка входного события «» TouchMove было задержано на 141 мс из-за основной поток быть занят. Рассмотрите обработчик события маркировки как «пассивный», чтобы сделать страницу более ответственной.
Однако медленные события сохраняются после того, как игра прекратила делать тяжелый подъем, как загрузка уровня и спрайтов.
Я не могу использовать пассивные обработчики в любом случае, потому что панорамирование карты должно предотвратитьDefault, чтобы остановить прокрутку интерфейса.
Я предполагаю, что медлительность связана касаться событий, как я измерил, как часто сенсорные обработчики вызываются, и они кажутся странными.
Получит 5-10 событий подряд в ~ 20 мс, тогда будет около 150-200 мс, затем еще одна партия быстрых событий и еще одна медленная.
После изменения ориентации, все события, полученные в рамках 20мса
Я также измерил мои ответы от requestAnimationFrame, и они, кажется, довольно солидного 16.8ms
Для тех, У вас есть проблема. Задайте вопрос по этому вопросу: https://blight.ironhelmet.com
Проблемы возникают в Chrome и Cordova, как на родном, так и на Crosswal к. Проблемы не возникают в Safari на iOS или любом проверенном браузере Desktop.
Я хотел бы знать, есть ли у кого-нибудь еще эта проблема и как я могу ее исправить.
Можно ли принудительно изменить ориентацию или что-то другое во время изменения ориентации, используя javaScript?