Эффективные 1000 Гц часы с веб-работниками - PullRequest
0 голосов
/ 13 января 2019

Создание часов с максимальной скоростью с помощью setInterval дает только максимальную частоту около 250 Гц. Для проекта, над которым я работаю, мне нужны часы быстрее. Однако я не хочу запускать тактовую частоту 1000 Гц в основном потоке по понятным причинам.

На данный момент единственный правдоподобный способ, которым мне удалось достичь частоты 1000 Гц, - это создать второго работника, который запускает while(true) и отправляет сообщение своему «главному» работнику каждый раз, когда проходит 1 миллисекунда. Это работает , и таймер точен, однако это чрезвычайно ресурсоемко. Просто выполнение этого цикла использует около 30% моего процессора.

Есть ли другой способ заставить работать быстрые часы? Он может быть настолько хакерским, насколько это возможно, и использовать как можно больше API-интерфейсов, просто он должен быть A: быстрее, чем максимальная скорость setInterval & B: максимально эффективно использовать ресурсы.

...