31 void RegisterMetric(
const std::string& name, std::function<
float()> getter);
35 void Tick(
float deltaTime);
42 void StartRecording();
44 void WriteFrameData(
float deltaTime);
46 void WriteHardwareInfo();
48 std::string GetRendererTag()
const;
49 std::string GenerateFilename()
const;
52 bool m_recording =
false;
58 std::vector<BenchmarkMetric> m_customMetrics;
63 double m_sumFPS = 0.0;
64 float m_minFrameTime = 0.0f;
65 float m_maxFrameTime = 0.0f;
66 double m_sumFrameTime = 0.0;
67 double m_sumTriangles = 0.0;
68 double m_sumCPU = 0.0;
69 double m_sumRAM = 0.0;
76 std::vector<float> m_frameTimes;
77 std::vector<double> m_customSums;
void ToggleRecording()
Toggle recording on/off (F12).
void RegisterMetric(const std::string &name, std::function< float()> getter)
Register a custom metric (e.g. render distance from Game).
void Initialize(RenderEngine::Renderer *renderer)
void UnregisterMetric(const std::string &name)
void Tick(float deltaTime)
Call once per frame from the main loop.
Abstract render backend: swapchain, frame lifecycle, and post-effect toggles.
Backend-facing rendering layer shared by the four graphics backends.
Root namespace for everything the engine exposes.
std::function< float()> Getter