Почему длительность моего хронографа не отображает правильное значение? - PullRequest
0 голосов
/ 10 ноября 2018

Я пытаюсь создать калькулятор FPS для своего игрового движка, используя библиотеку chrono, но каким-то образом после того, как я конвертирую общее время работы моего движка, он становится похожим на рис.

enter image description here

Обратите внимание на -922337..., тогда как оно должно быть 1, и увеличивайте каждую строку. Ниже описано, как я объявляю переменные, относящиеся к вычислению FPS.

std::chrono::duration<double> printFPStime, runTime, deltaTime;
std::chrono::high_resolution_clock::time_point frameStart, frameEnd;
int frames = 0;
float fps = 0.0f;

Ниже приведены мои исходные коды для расчета FPS.

void Game::CalculateFPS(){
    runTime += deltaTime;
    printFPStime += deltaTime;
    frames++;
    if (printFPStime >= std::chrono::seconds(1)){
        std::cout << std::chrono::duration_cast
        <std::chrono::seconds>(runTime).count()
        << " sec, " << frames << 
        " fps" << std::endl;

        printFPStime -= std::chrono::seconds(1);
        frames = 0;
    }
}

Где я сделал не так?

...