JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
hmi::FrameRateAverage Class Reference

Moyenne glissante de la cadence de rendu, sur une fenêtre courte. More...

#include <DiagnosticsHud.h>

Public Member Functions

void addSample (float deltaSeconds) noexcept
 Ajoute la durée d'une image écoulée et purge les échantillons sortis de la fenêtre.
float framesPerSecond () const noexcept
 Cadence moyenne sur la fenêtre courante.
void reset () noexcept
 Oublie tous les échantillons (bascule affichage éteint → allumé, TACHE-02 : repartir d'une fenêtre vide plutôt que de mélanger un temps accumulé pendant que rien n'était mesuré).

Private Attributes

std::deque< float > _recentDeltas
float _accumulatedSeconds = 0.0f

Detailed Description

Moyenne glissante de la cadence de rendu, sur une fenêtre courte.

Accumule les durées d'image réelles (temps écoulé entre deux rendus, indépendant du pas fixe de simulation, LOT-33) et n'en retient que celles tombées dans les DIAGNOSTICS_FPS_WINDOW_SECONDS les plus récentes. Logique pure (EX-NFR-010), testable sans horloge système : l'appelant fournit lui-même les durées.

Member Function Documentation

◆ addSample()

void hmi::FrameRateAverage::addSample ( float deltaSeconds)
noexcept

Ajoute la durée d'une image écoulée et purge les échantillons sortis de la fenêtre.

Parameters
deltaSecondsDurée écoulée depuis l'image précédente, en secondes (ignorée si négative ou nulle : un appelant ne doit jamais en produire, robustesse).

◆ framesPerSecond()

float hmi::FrameRateAverage::framesPerSecond ( ) const
nodiscardnoexcept

Cadence moyenne sur la fenêtre courante.

Returns
Le nombre d'images par seconde, ou 0 si aucun échantillon n'a encore été ajouté (division par zéro évitée : état de départ légitime, avant la première image).

◆ reset()

void hmi::FrameRateAverage::reset ( )
noexcept

Oublie tous les échantillons (bascule affichage éteint → allumé, TACHE-02 : repartir d'une fenêtre vide plutôt que de mélanger un temps accumulé pendant que rien n'était mesuré).

Member Data Documentation

◆ _accumulatedSeconds

float hmi::FrameRateAverage::_accumulatedSeconds = 0.0f
private

◆ _recentDeltas

std::deque<float> hmi::FrameRateAverage::_recentDeltas
private

The documentation for this class was generated from the following files:
  • /home/runner/work/JustAnotherDnDGame/JustAnotherDnDGame/Source/HMI/Game/DiagnosticsHud.h
  • /home/runner/work/JustAnotherDnDGame/JustAnotherDnDGame/Source/HMI/Game/DiagnosticsHud.cpp