Chrome - возвращаясь на мою веб-страницу, вкладка становится пустой - PullRequest
0 голосов
/ 17 октября 2019

Мы транслируем видео через websocket в виде сетки. Мы рендерим полученные изображения на холст, и холст будет обновляться несколько раз в секунду. Когда мы переходим на другую вкладку или приложение и возвращаемся на нашу страницу, страница гаснет на несколько секунд, скажем, 10-20 секунд. Иногда это занимает еще больше времени. Остальные остальные хромированные вкладки нормальные.

1 Ответ

0 голосов
/ 18 октября 2019

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

Мы ввели window.requestAnimationFrame API браузера, что решило проблему. requestAnimationFrame останавливает функцию рендеринга, когда вкладка становится невидимой, и возобновляет работу при возврате к той же вкладке.

Мы изменили значение с:

   render();

на

requestAnimationFrame(render);

проверьте этот ответ для дальнейшего понимания

Отвечая на собственный вопрос, так как это может кому-то помочь.

...