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;
128 bool StartLifecycle();
131 bool m_applicationRunning =
false;
132 bool m_doTempProfile =
false;
133 bool m_doSlowProfile =
false;
134 bool m_profileZones =
false;
135 bool m_profileTrace =
false;
136 float m_deltaTime = 0.f;
137 double m_totalTime = 0.f;
139 std::string m_profilerPath;
140 std::string m_tempProfilePath;
149 std::queue<RefCountedPtr<Lifecycle>> m_queuedLifecycles;
151 std::unique_ptr<SyncJobQueue> m_syncJobQueue;
152 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:77
void RequestProfileFrame(const std::string &path="")
Definition: Application.cpp:64
void SetProfileTrace(bool enabled)
Definition: Application.h:125
virtual void OnStartup()
Definition: Application.h:97
void QueueLifecycle(RefCountedPtr< Lifecycle > cycle)
Definition: Application.cpp:22
void SetProfileSlowFrames(bool enabled)
Definition: Application.h:123
virtual void BeginFrame()
Definition: Application.h:106
void SetProfileZones(bool enabled)
Definition: Application.h:124
virtual void PostUpdate()
Definition: Application.h:112
virtual void HandleJobs()
Definition: Application.cpp:150
virtual ~Application()
Definition: Application.cpp:20
void ClearQueuedLifecycles()
Definition: Application.cpp:144
void Shutdown()
Definition: Application.cpp:53
double GetTime()
Definition: Application.h:84
virtual void OnShutdown()
Definition: Application.h:100
Lifecycle * GetActiveLifecycle()
Definition: Application.h:121
void Run()
Definition: Application.cpp:161
TaskGraph * GetTaskGraph()
Definition: Application.h:86
void Startup()
Definition: Application.cpp:30
void RequestQuit()
Definition: Application.h:119
float DeltaTime()
Definition: Application.h:82
virtual void EndFrame()
Definition: Application.h:115
virtual void PreUpdate()
Definition: Application.h:109
JobQueue * GetSyncJobQueue()
Definition: Application.cpp:88
JobQueue * GetAsyncJobQueue()
Definition: Application.cpp:93
Application()
Definition: Application.cpp:19
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