Как решить проблему зависания анимации в CHROME при нажатии в любом месте экрана? - PullRequest
0 голосов
/ 07 октября 2019

Я разработал слот-игру с 5 барабанами. Когда играешь в Android Chrome, это не работает хорошо, когда я нажимаю в любом месте экрана, без причины FPS падает, если на заднемзависать, когда я нажимаю на интерактивный объект или нажимаю на экран. Это происходит только в мобильном телефоне.

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

  2. Я пытался отключить события stagemousedown / up, потому что они запускаются, когда я просто нажимаю в любом месте сцены. Он снижает FPS почти до 5 с 20, когда мы непрерывно нажимаем почти во всех браузерах ПК. В мобильных телефонах Android Firefox не имеет этой проблемы, где, как в Chrome, это влияет на анимацию. Это похоже на замораживание на секунду, когда мы нажимаем.

  3. Я пробовал с RAF и RAF_SYNCHED, но все еще без улучшения.

Я уверен, что этоиз-за событий, связанных со сценическим движением,

createjs.Ticker.timingMode = createjs.Ticker.TIMEOUT;
createjs.Ticker.maxDelta = 50;
createjs.Ticker.addEventListener("tick", this._update);
this._update = function(event)
{   
    if(main_page_active == false)
    {
        if(reels_page_opened == true)
        {
            s_oStage_reels.update(event);
        }
        if(paytable_page_opened == true)
        {
            s_oStage_paytable.update(event);
        }
        if(gamble_page_opened == true)
        {
            s_oStage_gamble.update(event);
        }
        if(jackpot_page_opened == true)
        {
            s_oStage_jackpot.update(event);
        }
        if(bonus_page_opened == true)
        {
            s_oStage_bonus.update(event);
        }
    }
};
...