Olympe Engine 2.0
2D Game Engine with ECS Architecture
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Olympe::ProfilerPanel Class Reference

ImGui panel that visualizes PerformanceProfiler data. More...

#include <ProfilerPanel.h>

Public Member Functions

 ProfilerPanel ()
 
 ~ProfilerPanel ()
 
void Initialize ()
 
void Shutdown ()
 
void Render ()
 Renders the profiler panel window.
 
void SetVisible (bool v)
 
bool IsVisible () const
 

Private Member Functions

void RenderControls ()
 
void RenderFrameTimeline ()
 
void RenderHotspotTable ()
 

Private Attributes

bool m_visible = true
 
bool m_autoScroll = true
 
int m_historyCount = 60
 Frames shown in timeline.
 

Detailed Description

ImGui panel that visualizes PerformanceProfiler data.

Renders a frame timeline bar chart and a hotspot table sorted by average execution time descending. Provides an "Export CSV" button that calls PerformanceProfiler::SaveToFile().

Definition at line 25 of file ProfilerPanel.h.

Constructor & Destructor Documentation

◆ ProfilerPanel()

Olympe::ProfilerPanel::ProfilerPanel ( )

Definition at line 27 of file ProfilerPanel.cpp.

◆ ~ProfilerPanel()

Olympe::ProfilerPanel::~ProfilerPanel ( )

Definition at line 31 of file ProfilerPanel.cpp.

Member Function Documentation

◆ Initialize()

void Olympe::ProfilerPanel::Initialize ( )

Definition at line 35 of file ProfilerPanel.cpp.

Referenced by Olympe::BlueprintEditorGUI::Initialize().

+ Here is the caller graph for this function:

◆ IsVisible()

bool Olympe::ProfilerPanel::IsVisible ( ) const
inline

Definition at line 40 of file ProfilerPanel.h.

References m_visible.

◆ Render()

void Olympe::ProfilerPanel::Render ( )

Renders the profiler panel window.

Definition at line 47 of file ProfilerPanel.cpp.

References m_visible, RenderControls(), RenderFrameTimeline(), and RenderHotspotTable().

Referenced by Olympe::BlueprintEditorGUI::RenderFixedLayout().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RenderControls()

void Olympe::ProfilerPanel::RenderControls ( )
private

Definition at line 67 of file ProfilerPanel.cpp.

References Olympe::PerformanceProfiler::Get(), GetComponentTypeID_Static(), m_autoScroll, and m_historyCount.

Referenced by Render().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RenderFrameTimeline()

void Olympe::ProfilerPanel::RenderFrameTimeline ( )
private

◆ RenderHotspotTable()

void Olympe::ProfilerPanel::RenderHotspotTable ( )
private

Definition at line 193 of file ProfilerPanel.cpp.

References Olympe::NodeExecutionMetrics::avgTimeMs, Olympe::PerformanceProfiler::Get(), GetComponentTypeID_Static(), and Olympe::PerformanceProfiler::HOTSPOT_THRESHOLD_MS.

Referenced by Render().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetVisible()

void Olympe::ProfilerPanel::SetVisible ( bool  v)
inline

Definition at line 39 of file ProfilerPanel.h.

References GetComponentTypeID_Static(), and m_visible.

+ Here is the call graph for this function:

◆ Shutdown()

void Olympe::ProfilerPanel::Shutdown ( )

Definition at line 39 of file ProfilerPanel.cpp.

Referenced by Olympe::BlueprintEditorGUI::Shutdown().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_autoScroll

bool Olympe::ProfilerPanel::m_autoScroll = true
private

Definition at line 49 of file ProfilerPanel.h.

Referenced by RenderControls(), and RenderFrameTimeline().

◆ m_historyCount

int Olympe::ProfilerPanel::m_historyCount = 60
private

Frames shown in timeline.

Definition at line 50 of file ProfilerPanel.h.

Referenced by RenderControls(), and RenderFrameTimeline().

◆ m_visible

bool Olympe::ProfilerPanel::m_visible = true
private

Definition at line 48 of file ProfilerPanel.h.

Referenced by IsVisible(), Render(), and SetVisible().


The documentation for this class was generated from the following files: