Мобильный Android Chrome не работает с HTML5 и CREATEJS — проблемы с зависанием

Мобильный Android Chrome плохо работает с HTML5 и CREATEJS — проблемы с зависанием

Я разработал приложение с использованием HTML5 и CREATEJS. Я сталкиваюсь с некоторыми проблемами, которые не могу найти решение в течение нескольких недель. Я надеюсь, что кто-то может помочь.

1) В Android Google Chrome возникает проблема, возникающая, когда я просто нажимаю в любом месте экрана: FPS падает, а любая воспроизводимая анимация останавливается на время моего касания. Проблема только в браузере Mobile Chrome, на Android. Его нет ни в других мобильных браузерах, ни в iPhone, ни в Safari, Firefox и т. Д. Я создал простой apk, используя webview, и у него тоже нет проблем. Так что почему-то проблема только в мобильном Android Chrome.

Код оптимизирован на максимум. 2 месяца назад мы использовали только 1 холст, но теперь мы используем несколько холстов, и у нас меньше анимаций на каждом холсте, запущенном каждый раз. В то время как в Android Firefox он работает отлично, но в Android Chrome он зависает за один клик.

Я попытался отключить события stagemousedown / up, потому что они запускаются, когда я просто щелкаю в любом месте сцены. Это не решило проблему, или возможно, что есть некоторые скрытые события stagetouch, которые я не знаю, как отключить.

2) В Android Google Chrome и iPhone6 ​​Safari, когда я нажимаю кнопку SPIN, игра запускает SPIN, но с задержкой не менее 1,5 секунд, но такая задержка не добавляется намеренно внутри кода. На ПК любой браузер, Android / iOS Mobile Firefox, это отлично работает, без задержек. В iOS Safari iPhone8 снова все работает отлично. Я создал простой apk, используя webview, и у него тоже нет этой проблемы. Так что почему-то проблема только в мобильном Android Chrome. ОБНОВЛЕНИЕ 11/10/19: Проблема 2 была решена путем уменьшения размера холста и удаления всех теневых эффектов, которые занимали много памяти. Вопрос 1 до сих пор остается нерешенным, и у нас не осталось абсолютно никаких идей. Любая помощь приветствуется.

Мой проект завершен на 99%, кроме этих двух вопросов. Я надеюсь, что смогу их исправить, потому что я действительно не хочу выбрасывать месяцы работы и переключаться на другую библиотеку javascript для игр, у которой нет такой проблемы, как PIXIJS.

Я пытался с RAF и RAF_SYNCHED, но по-прежнему нет улучшения ни в одном сценарии. Stage.update () требуется для любой анимации. Наличие их на тикере — причина, почему это становится медленнее.

Чтобы увидеть проблему в действии, откройте этот URL: http://www.nevergone.biz/DEMO_CODE/index.html

Как проверить: откройте ссылку выше в портретном режиме Android Google Chrome и затем нажмите SPIN. Во время SPIN кликните над игровым холстом или где угодно. Обратите внимание, что все зависает.

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

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector