Это, пожалуй, противоположность очень распространенной проблемы: когда вы используете setInterval
на одной вкладке и переключаетесь на другую, интервал значительно уменьшается (например, замедляется). Это очень заметно при синхронизации звука, так как вы можете слышать, как он замедляется.setInterval не замедляется на неактивной вкладке
Но на последних Chrome 56 и Firefox 51 я больше не могу этого сделать.
Однако на Chrome очень редко, и, казалось бы, случайным образом, переключающие вкладки могут имеют эффект. И по какой-то причине он даже дросселирует Web Workers.
Это вызывает у меня головные боли, потому что я пытаюсь написать материал для веб-аудио API, который требует очень точного времени, и я даже не вижу разницы между setInterval и веб-рабочими, которые должны запускаться в своем потоке.
Почему setInterval
не работает так, как и раньше, и неактивные вкладки дроссельной заслонки?
Обновление: даже setInterval
в веб-работнике, который был загружен через URI Blob, в некоторых случаях получает дросселирование, например, переключения вкладок.
Есть ли способ имитировать низкую ОЗУ или CPU или другие параметры для запуска ** надежного поведения 'setInterval' дросселирования **? Мне нужно иметь возможность фактически определить, имеет ли использование Web Workers какие-либо преимущества по времени для ванильного 'setInterval' или другого решения, связанного с setTimeout. – bryc