GLUT не получает время с точностью до миллис - PullRequest
0 голосов
/ 21 сентября 2018

У меня проблема с таймером в GLUT.

glutGet(GLUT_ELAPSED_TIME) получают только время с точностью до секунды (1000, 2000, 3000 ...), а glutTimerFunc(...) работает только тогда, когда параметр millis установлен больше чем1000.

Я не знаю точно, как GLUT измеряет время, но я думаю, что с моей системной настройкой времени что-то не так.

Как я могу получить время с точностью до миллисекунд в OpenGL?

1 Ответ

0 голосов
/ 22 сентября 2018

Как уже упоминалось в комментариях выше, вы можете использовать более надежные утилиты C ++ для обработки даты и времени, такие как std :: chrono .Вот простой пример:

#include <iostream>
#include <chrono>

int main()
{
    const auto start = std::chrono::high_resolution_clock::now();

    // do something...

    const auto end = std::chrono::high_resolution_clock::now();

    std::cout << "Took " << std::chrono::duration_cast<std::chrono::milliseconds>(end - start).count() << " ms\n";

    return 0;
}
...