45 void update_fps_calculation();
50 Uint64 _current_tick = 0;
53 float _delta_time = 0.0f;
54 float _raw_delta_time = 0.0f;
55 float _elapsed_time = 0.0f;
58 Uint64 _frame_count = 0;
59 Uint32 _target_fps = 60;
60 float _target_frame_time = 1.0f / 60.0f;
61 float _max_delta_time = 1.0f / 15.0f;
64 float _time_scale = 1.0f;
67 bool _is_paused =
false;
68 Uint64 _pause_start_tick = 0;
72 float _average_fps = 0.0f;
73 std::deque<float> _fps_samples;
74 static constexpr
size_t _fps_sample_count = 60;
75 size_t _fps_sample_index = 0;
TimeManager class.
Definition: time_manager.h:11
float get_scaled_delta_time() const
Definition: time_manager.cpp:18
void set_time_scale(float scale)
Definition: time_manager.cpp:61
float get_elapsed_time() const
Definition: time_manager.cpp:26
float get_average_fps() const
Definition: time_manager.cpp:38
void set_max_delta_time(float max_dt)
Definition: time_manager.cpp:154
float get_total_time() const
Definition: time_manager.cpp:30
float get_delta_time() const
Definition: time_manager.cpp:10
void limit_frame_rate()
Definition: time_manager.cpp:89
float get_time_scale() const
Definition: time_manager.cpp:57
void pause()
Definition: time_manager.cpp:69
void resume()
Definition: time_manager.cpp:76
bool is_paused() const
Definition: time_manager.cpp:65
void update()
Definition: time_manager.cpp:111
Uint64 get_frame_count() const
Definition: time_manager.cpp:22
float get_max_delta_time() const
Definition: time_manager.cpp:158
void print_debug_info() const
Definition: time_manager.cpp:143
TimeManager()
Definition: time_manager.cpp:3
void reset()
Definition: time_manager.cpp:128
Uint32 get_target_fps() const
Definition: time_manager.cpp:42
float get_raw_delta_time() const
Definition: time_manager.cpp:14
void set_target_fps(Uint32 fps=60)
Definition: time_manager.cpp:46
float get_fps() const
Definition: time_manager.cpp:34
void toggle_pause()
Definition: time_manager.cpp:85