Создание часов с максимальной скоростью с помощью setInterval дает только максимальную частоту около 250 Гц. Для проекта, над которым я работаю, мне нужны часы быстрее. Однако я не хочу запускать тактовую частоту 1000 Гц в основном потоке по понятным причинам.
На данный момент единственный правдоподобный способ, которым мне удалось достичь частоты 1000 Гц, - это создать второго работника, который запускает while(true)
и отправляет сообщение своему «главному» работнику каждый раз, когда проходит 1 миллисекунда. Это работает , и таймер точен, однако это чрезвычайно ресурсоемко. Просто выполнение этого цикла использует около 30% моего процессора.
Есть ли другой способ заставить работать быстрые часы? Он может быть настолько хакерским, насколько это возможно, и использовать как можно больше API-интерфейсов, просто он должен быть A: быстрее, чем максимальная скорость setInterval & B: максимально эффективно использовать ресурсы.