Ember
Loading...
Searching...
No Matches
PerformanceMonitor.h File Reference
#include "Interfaces/ITab.h"
#include "Types/Types.h"
#include <chrono>
#include <deque>
#include <map>
#include <memory>
#include <string>
#include <vector>
#include <wx/wx.h>

Go to the source code of this file.

Classes

struct  EmberForge::MetricData
 Individual performance metric data. More...
class  EmberForge::PerformanceMonitor
 System performance monitoring class. More...
class  EmberForge::PerformancePanel
 Performance panel UI for displaying real-time metrics. More...

Namespaces

namespace  EmberForge

Macros

#define PERF_BEGIN_FRAME()
#define PERF_END_FRAME()
#define PERF_RECORD(name, value, unit)
#define PERF_TIME_BEGIN(name)
#define PERF_TIME_END(name)

Macro Definition Documentation

◆ PERF_BEGIN_FRAME

#define PERF_BEGIN_FRAME ( )

◆ PERF_END_FRAME

#define PERF_END_FRAME ( )

◆ PERF_RECORD

#define PERF_RECORD ( name,
value,
unit )
Value:
void RecordMetric(const std::string &name, float value, const std::string &unit="")

Definition at line 211 of file PerformanceMonitor.h.

◆ PERF_TIME_BEGIN

#define PERF_TIME_BEGIN ( name)
Value:
auto _perf_start_##name = std::chrono::high_resolution_clock::now()

Definition at line 212 of file PerformanceMonitor.h.

◆ PERF_TIME_END

#define PERF_TIME_END ( name)
Value:
#name, \
std::chrono::duration<double, std::milli>(std::chrono::high_resolution_clock::now() - _perf_start_##name) \
.count())
void RecordTime(const std::string &name, double milliseconds)

Definition at line 213 of file PerformanceMonitor.h.