#include #include #include struct Rates { double fps; double normalizedFrames; }; // Standalone illustration of the measurement formula, not a rendering runner. std::optional MakeRates(std::uint64_t frames, double elapsedMs, double nominalMs) { if (!std::isfinite(elapsedMs) || elapsedMs <= 0 || !std::isfinite(nominalMs) || nominalMs <= 0) { return std::nullopt; } const double fps = static_cast(frames) * 1000.0 / elapsedMs; const double score = static_cast(frames) * nominalMs / elapsedMs; return Rates{fps, score}; }