Khaotic Engine Reborn
Loading...
Searching...
No Matches
fps_limiter.h
1#pragma once
2#include <chrono>
3
5public:
6 explicit fps_limiter(const float target_fps = 60.0f)
7 : min_delta_(1.0f / target_fps), last_time_(std::chrono::high_resolution_clock::now()) {}
8
9 // Retourne true si la fonction peut etre executee
10 bool should_run() {
11 const auto now = std::chrono::high_resolution_clock::now();
12 if (const float elapsed = std::chrono::duration<float>(now - last_time_).count(); elapsed >= min_delta_) {
13 last_time_ = now;
14 return true;
15 }
16 return false;
17 }
18
19private:
20 float min_delta_;
21 std::chrono::high_resolution_clock::time_point last_time_;
22};