Я тестировал точность setTimeout
, используя этот тест. Теперь я заметил, что (как и ожидалось) setTimeout
не очень точен, но для большинства приборов не очень неточно. Теперь, если я запускаю тест в Chrome и позволяю ему работать на вкладке фона (так, перейдя на другую вкладку и просматривая там), вернувшись к тесту и проверив результаты te (если тест закончен), они резко изменены. Похоже, что тайм-ауты работают намного медленнее. Протестировано в FF4 или IE9, этого не произошло.
Итак, похоже, что Chrome приостанавливает или, по крайней мере, замедляет выполнение javascript на вкладке, которая не имеет фокуса. Не удалось найти много в сети по этому вопросу. Это означало бы, что мы не можем запускать фоновые задачи, например, периодически проверять на сервере с помощью XHR-вызовов и setInterval
(я подозреваю, что вижу такое же поведение для setInterval
, будет писать тест, если время со мной).
Кто-нибудь сталкивался с этим? Будет ли там обходной путь для этой приостановки/замедления? Вы бы назвали это ошибкой, и я должен записать ее как таковую?