MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ update_fps_measurement()

void MayaFlux::Vruta::FrameClock::update_fps_measurement ( std::chrono::steady_clock::time_point  now)
private

Update measured FPS based on tick interval Called internally during tick()

Definition at line 151 of file Clock.cpp.

152{
153 auto dt = std::chrono::duration<double>(now - m_last_tick_time).count();
154
155 if (dt > 0.0 && dt <= 1.0) {
156 double instantaneous_fps = 1.0 / dt;
157
158 double current_measured = m_measured_fps.load(std::memory_order_acquire);
159 double new_measured = FPS_SMOOTHING_ALPHA * instantaneous_fps + (1.0 - FPS_SMOOTHING_ALPHA) * current_measured;
160
161 m_measured_fps.store(new_measured, std::memory_order_release);
162 }
163}
std::chrono::steady_clock::time_point m_last_tick_time
Definition Clock.hpp:283
static constexpr double FPS_SMOOTHING_ALPHA
Definition Clock.hpp:288
std::atomic< double > m_measured_fps
Definition Clock.hpp:287

References FPS_SMOOTHING_ALPHA, m_last_tick_time, and m_measured_fps.

Referenced by tick().

+ Here is the caller graph for this function: