Polyphase Game Engine
Loading...
Searching...
No Matches
StatsOverlay.h
Go to the documentation of this file.
1#pragma once
2
5#include <deque>
6
7class Poly;
8
9enum class StatDisplayMode : uint8_t
10{
11 None,
18 Memory,
19 Network,
21
22 Count
23};
24
25class StatsOverlay : public Canvas
26{
27public:
28
30
32 virtual ~StatsOverlay();
33
34 virtual void GatherProperties(std::vector<Property>& outProps) override;
35
36 // Every live StatsOverlay registers itself here so the Renderer can tell
37 // if a scene-placed one exists before showing its own fallback.
38 static const std::vector<StatsOverlay*>& GetAllInstances();
39
40 virtual void Tick(float deltaTime) override;
41 virtual void EditorTick(float deltaTime) override;
42 void TickCommon(float deltaTime);
43
46
47 void SetStatText(uint32_t index, const char* key, float value, glm::vec4 color, float& y);
48
49 float mTextSize = 14.0f;
50
51 std::vector<Text*> mStatKeyTexts;
52 std::vector<Text*> mStatValueTexts;
55
56 // Frame-graph mode state.
57 Poly* mGraphPoly = nullptr; // transient child, rebuilt each load
58 std::deque<float> mFrameTimeHistory; // ring of recent frame times (ms)
59 uint32_t mFrameGraphSamples = 120; // how many samples to keep / draw
60 float mFrameGraphMaxMs = 33.33f; // vertical scale; set to expected worst-case
61};
StatDisplayMode
Definition StatsOverlay.h:10
Definition Canvas.h:9
Definition Poly.h:10
Definition StatsOverlay.h:26
float mFrameGraphMaxMs
Definition StatsOverlay.h:60
void TickCommon(float deltaTime)
Definition StatsOverlay.cpp:76
uint32_t mFrameGraphSamples
Definition StatsOverlay.h:59
virtual void Tick(float deltaTime) override
Definition StatsOverlay.cpp:64
StatDisplayMode GetDisplayMode() const
Definition StatsOverlay.cpp:309
StatsOverlay()
Definition StatsOverlay.cpp:45
static const std::vector< StatsOverlay * > & GetAllInstances()
Definition StatsOverlay.cpp:40
virtual void EditorTick(float deltaTime) override
Definition StatsOverlay.cpp:70
virtual ~StatsOverlay()
Definition StatsOverlay.cpp:58
std::vector< Text * > mStatValueTexts
Definition StatsOverlay.h:52
std::deque< float > mFrameTimeHistory
Definition StatsOverlay.h:58
bool mTextChildrenInitialized
Definition StatsOverlay.h:54
void SetStatText(uint32_t index, const char *key, float value, glm::vec4 color, float &y)
Definition StatsOverlay.cpp:314
float mTextSize
Definition StatsOverlay.h:49
Poly * mGraphPoly
Definition StatsOverlay.h:57
virtual void GatherProperties(std::vector< Property > &outProps) override
Definition StatsOverlay.cpp:291
std::vector< Text * > mStatKeyTexts
Definition StatsOverlay.h:51
DECLARE_NODE(StatsOverlay, Canvas)
void SetDisplayMode(StatDisplayMode mode)
Definition StatsOverlay.cpp:304
StatDisplayMode mDisplayMode
Definition StatsOverlay.h:53