История изменений
Исправление
pavlick,
(текущая версия)
:
т.е. хочется не тупо спать 20 мсек, а до начала следующего периода?
while (true) {
auto time_awake = high_resolution_clock::now();
action();
auto time_cur = high_resolution_clock::now();
for (; time_awake <= time_cur; time_awake += 1000ms/20);
this_thread::sleep_until(time_awake);
}
По-поводу стоимости узнать время - ну хз как где, как-то смотрел у себя без оптимизаций, около 0.2 микросекунды получалось. 20 и 0.0002, ну крохи какие-то.
Зы: хотя подозреваю, что вопрос про что-то многопоточное
Исходная версия
pavlick,
:
т.е. хочется не тупо спать 20 мсек, а до начала следующего периода?
while (true) {
auto time_awake = high_resolution_clock::now();
action();
auto time_cur = high_resolution_clock::now();
for (; time_awake <= time_cur; time_awake += 1000ms/20);
this_thread::sleep_until(time_awake);
}
По-поводу стоимости узнать время - ну хз как где, как-то смотрел у себя без оптимизаций, около 0.2 микросекунды получалось. 20 и 0.0002, ну крохи какие-то.