ludus::foundation::time::FrameClock¶
Ludus Wiki · API overview · Browse API
Class
Sample once per frame and pass the result by value.
Reset at startup, pause, resume, suspension and session replacement. First sample yields zero elapsed. Maximum delta is application policy; zero deliberately freezes accepted time. A backwards sample yields zero and retains the previous high-water mark, so recovery cannot count the same interval twice. Equal samples are accepted.
Declared in modules/foundation/time/include/ludus/foundation/time/timers.hpp
#include <ludus/foundation/time/timers.hpp>
class ludus::foundation::time::FrameClock final
Methods¶
FrameClock¶
explicit ludus::foundation::time::FrameClock::FrameClock(Duration maximumDelta) noexcept
Configure the accepted delta cap in nanoseconds; zero freezes accepted elapsed time.
Related types: Duration
Declared in modules/foundation/time/include/ludus/foundation/time/timers.hpp
Reset¶
void ludus::foundation::time::FrameClock::Reset() noexcept
Forget the previous sample; the next Sample establishes a zero-duration baseline.
Declared in modules/foundation/time/include/ludus/foundation/time/timers.hpp
Sample¶
FrameSample ludus::foundation::time::FrameClock::Sample(Timestamp now) noexcept
Sample elapsed time, retaining the high-water mark on regression and reporting clamp loss.
Related types: FrameSample · Timestamp
Declared in modules/foundation/time/include/ludus/foundation/time/timers.hpp