У меня есть программа opengl для Windows 10, которая использует отдельные потоки для расчета/изменения положения точек на экране с течением времени. Каждый поток вычисляет положение своей 1 точки в цикле (несколько точек на экране). Некоторые точки меняют положение быстрее, чем другие, за счет более коротких задержек в этих потоках между расчетом каждой новой позиции. Отдельные потоки рендеринга учитывают изменения при обновлении экрана. Я старался сделать задержку примерно 10 или более микросекунд. Однако Sleep_for имеет огромное значение для 1000 мкс и 999 мкс.
Почему такая разница между временем сна обоих потоков? Пример кода ниже.
#include
#include
void example_func(int time){
auto start = std::chrono::high_resolution_clock::now();
this_thread::sleep_for(chrono::microseconds(time));
auto end = std::chrono::high_resolution_clock::now();
auto duration = std::chrono::duration_cast(end - start);
cout
Подробнее здесь: https://stackoverflow.com/questions/783 ... dsleep-for