25 m_profilerAccumulate(profilerAccumulate){};
38 virtual void Update(
float deltaTime) = 0;
54 m_profilerAccumulate = enable;
59 bool m_profilerAccumulate =
false;
60 bool m_endLifecycle =
false;
122 bool StartLifecycle();
125 bool m_applicationRunning =
false;
126 bool m_doTempProfile =
false;
127 bool m_doSlowProfile =
false;
128 bool m_profileZones =
false;
129 bool m_profileTrace =
false;
130 float m_deltaTime = 0.f;
131 double m_totalTime = 0.f;
133 std::string m_profilerPath;
134 std::string m_tempProfilePath;
143 std::queue<RefCountedPtr<Lifecycle>> m_queuedLifecycles;
145 std::unique_ptr<SyncJobQueue> m_syncJobQueue;
146 std::unique_ptr<TaskGraph> m_taskGraph;
Definition Application.h:21
void RequestEndLifecycle()
Definition Application.h:29
Lifecycle(bool profilerAccumulate)
Definition Application.h:24
virtual void Start()
Definition Application.h:35
bool GetProfilerAccumulate() const
Definition Application.h:50
Lifecycle()
Definition Application.h:23
void SetNextLifecycle(RefCountedPtr< Lifecycle > l)
Definition Application.h:45
virtual ~Lifecycle()
Definition Application.h:26
virtual void Update(float deltaTime)=0
void SetProfilerAccumulate(bool enable)
Definition Application.h:52
virtual void End()
Definition Application.h:42
Definition Application.h:16
void SetProfilerPath(const std::string &)
Definition Application.cpp:74
void RequestProfileFrame(const std::string &path="")
Definition Application.cpp:61
void SetProfileTrace(bool enabled)
Definition Application.h:119
void QueueLifecycle(RefCountedPtr< Lifecycle > cycle)
Definition Application.cpp:23
void SetProfileSlowFrames(bool enabled)
Definition Application.h:117
virtual void BeginFrame()
Definition Application.h:100
void SetProfileZones(bool enabled)
Definition Application.h:118
virtual void PostUpdate()
Definition Application.h:106
virtual void HandleJobs()
Definition Application.cpp:147
virtual ~Application()
Definition Application.cpp:21
void ClearQueuedLifecycles()
Definition Application.cpp:141
virtual void Shutdown()
Definition Application.cpp:52
double GetTime()
Definition Application.h:78
Lifecycle * GetActiveLifecycle()
Definition Application.h:115
void Run()
Definition Application.cpp:158
TaskGraph * GetTaskGraph()
Definition Application.h:80
virtual void Startup()
Definition Application.cpp:31
void RequestQuit()
Definition Application.h:113
float DeltaTime()
Definition Application.h:76
virtual void EndFrame()
Definition Application.h:109
virtual void PreUpdate()
Definition Application.h:103
JobQueue * GetSyncJobQueue()
Definition Application.cpp:85
JobQueue * GetAsyncJobQueue()
Definition Application.cpp:90
Application()
Definition Application.cpp:20
Definition JobQueue.h:108
Definition RefCounted.h:36
Definition RefCounted.h:11
T * Get() const
Definition SmartPtr.h:37
Definition JobQueue.h:131
Definition TaskGraph.h:139