#include "../include/Vsync.hpp" #include #include namespace QuickMedia { VSync::VSync(int framerate) : target_frame_delta_micro(1000.0 / (double)framerate * 1000.0), overflow(0) { } void VSync::display(sf::RenderWindow &window) { window.display(); sf::Int64 sleep_time_micro = target_frame_delta_micro - timer.getElapsedTime().asMicroseconds(); if(sleep_time_micro > 0) { if(usleep(sleep_time_micro) != 0) { fprintf(stderr, "failed to sleep!\n"); } } timer.restart(); } }