Olympe Engine 2.0
2D Game Engine with ECS Architecture
Loading...
Searching...
No Matches
ProfilerPanel.h
Go to the documentation of this file.
1/**
2 * @file ProfilerPanel.h
3 * @brief ImGui profiler panel for ATS VS node execution metrics (Phase 5).
4 * @author Olympe Engine
5 * @date 2026-03-09
6 *
7 * @details C++14 compliant.
8 */
9
10#pragma once
11
12#include <string>
13
14namespace Olympe {
15
16/**
17 * @class ProfilerPanel
18 * @brief ImGui panel that visualizes PerformanceProfiler data.
19 *
20 * @details
21 * Renders a frame timeline bar chart and a hotspot table sorted by
22 * average execution time descending. Provides an "Export CSV" button
23 * that calls PerformanceProfiler::SaveToFile().
24 */
26public:
27
30
31 void Initialize();
32 void Shutdown();
33
34 /**
35 * @brief Renders the profiler panel window.
36 */
37 void Render();
38
39 void SetVisible(bool v) { m_visible = v; }
40 bool IsVisible() const { return m_visible; }
41
42private:
43
44 void RenderControls();
46 void RenderHotspotTable();
47
48 bool m_visible = true;
49 bool m_autoScroll = true;
50 int m_historyCount = 60; ///< Frames shown in timeline
51};
52
53} // namespace Olympe
ComponentTypeID GetComponentTypeID_Static()
Definition ECS_Entity.h:56
ImGui panel that visualizes PerformanceProfiler data.
int m_historyCount
Frames shown in timeline.
void SetVisible(bool v)
void Render()
Renders the profiler panel window.
< Provides AssetID and INVALID_ASSET_ID