Сбой вкладки Chrome / зависание после перемещения на передний план в течение длительного времени на заднем плане

У меня есть страница, которая показывает статистику в реальном времени. Он запускает много javascript, делает много HTTP-запросов, рендерит SVG-диаграммы каждые несколько секунд, используя D3.js, имеет много CSS-анимаций и часто перестраивает DOM.

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

Все эти поведения наблюдаются в Chrome. Я не много тестировал в других браузерах.

Что не делает Chrome, пока вкладка находится в фоновом режиме, и что он делает во время этой паузы, когда я впервые переключаюсь на вкладку?

ОБНОВИТЬ:

Я также делаю анимацию jQuery.Этот ответ а такжеэтот может быть актуальным.

Согласно первому ответу:

"Неактивные вкладки браузера буферизуют некоторые функции setInterval или setTimeout."

stop (true, true) остановит все буферизованные события и немедленно выполнит только последнюю анимацию.

Я добавил в свой код вызов .stop (true, true), и по крайней мере для коротких поездок за пределы вкладки я не обнаружил сбой. Мне нужно надолго оставить его в фоновом режиме и проверить, прежде чем я смогу сказать, имеет ли это существенное значение.

Ответы на вопрос(2)

Ваш ответ на вопрос