7#include <Common/primitive_type.h>
8#include <Utility/Timer.h>
23 config::NUM_RENDER_THREAD_BUFFERED_FRAMES,
24 void(render::System&)>
63 void beforeFirstRenderWorkInFrame();
67 void afterLastRenderWorkInFrame();
73 std::unique_ptr<render::System> m_system;
77 std::atomic<float32> m_frameTimeMs;
82 return m_frameTimeMs.load(std::memory_order_relaxed);
92 return m_ghiThread.getWorkerThreadId();
Definition GHIThread.h:19
float32 getFrameTimeMs() const
Definition GHIThread.h:56
Definition RenderThread.h:25
float32 getFrameTimeMs() const
Definition RenderThread.h:80
void onAsyncWorkerStop() override
Definition RenderThread.cpp:71
~RenderThread() override
Definition RenderThread.cpp:31
void onEndFrame() override
Definition RenderThread.cpp:178
void setGraphicsContext(ghi::GraphicsContext *graphicsCtx)
Set a graphics context which is persistent throughout the worker thread's lifespan....
Definition RenderThread.cpp:259
void onBeginFrame() override
Definition RenderThread.cpp:116
void onAsyncProcessWork(const Work &work) override
Definition RenderThread.cpp:34
float32 getGHIFrameTimeMs() const
Definition RenderThread.h:85
void onAsyncWorkerStart() override
Definition RenderThread.cpp:41
RenderThread()
Definition RenderThread.cpp:20
std::thread::id getGHIWorkerThreadId() const
Definition RenderThread.h:90
Definition TFrameWorkerThread.h:55
Definition GraphicsContext.h:24
constexpr std::size_t NUM_RENDER_THREAD_BUFFERED_FRAMES
Definition editor_lib_config.h:10
Definition PlatformDisplay.h:13
Definition DesignerObject.h:19
Definition ph_editor.h:10