Timer Resolution и sleep(1)

Страницы: 1
RSS
Timer Resolution и sleep(1)
 
Добрый день!
Иногда sleep(1) стабильно работает 15.5мс, иногда ~1.5мс.
Понятно, что это связано с системным Timer Resolution. Причем в последних сборках это не глобальная настройка, менять надо из самого процесса
https://habr.com/ru/post/522212/
Значит вы как-то переключаетесь в квике между частотами.с помощью ф-ции NtSetTimerResolution
Как нам этим управлять и получать желаемую частоту? Видимо нужна еще одна сервисная ф-ция.
Все же поведение sleep(1) должно быть более предсказуемым, чем разброс на порядок на незагруженной системе.
 
скорее всего, вы используете какую-то стороннюю lua-библиотеку, которая инициализирует mm-таймер для данного процесса. и он остается до тех пор, пока не перезапустите квик. не обязательно это делается напрямую, может быть связано, например, с проигрыванием аудио.
 
Цитата
rst9 написал:
скорее всего, вы используете какую-то стороннюю lua-библиотеку, которая инициализирует mm-таймер для данного процесса. и он остается до тех пор, пока не перезапустите квик. не обязательно это делается напрямую, может быть связано, например, с проигрыванием аудио.
О, действительно. После вызова w32.mciSendString sleep(1) работает 1.97мс..
Что ж, тогда вопрос разработчикам, может стоить сделать этот механизм штатно управляемым? Штатно значит всегда работает не менее 15.6мс..
 
Цитата
Андрей написал:
Что ж, тогда вопрос разработчикам, может стоить сделать этот механизм штатно управляемым? Штатно значит всегда работает не менее 15.6мс..
Как Вы верно подметили Вы сами уже сейчас можете поменять таймер через WinAPI.
Страницы: 1
Читают тему
Наверх