// Install a function for tracing
mEnvironmentOptions.InstallTraceFunction();
+ TRACE_UPDATE_RENDER_BEGIN("DALI_RENDER_THREAD_INIT");
+
LOG_UPDATE_RENDER("THREAD CREATED");
// Initialize graphics
const bool renderToFboEnabled = 0u != renderToFboInterval;
unsigned int frameCount = 0u;
+ TRACE_UPDATE_RENDER_END("DALI_RENDER_THREAD_INIT");
+
while(UpdateRenderReady(useElapsedTime, updateRequired, timeToSleepUntil))
{
LOG_UPDATE_RENDER_TRACE;
+ TRACE_UPDATE_RENDER_SCOPE("DALI_UPDATE_RENDER");
// For thread safe
bool uploadOnly = mUploadWithoutRendering;
if(scene && windowSurface)
{
- TRACE_UPDATE_RENDER_BEGIN("DALI_RENDER_SCENE");
+ TRACE_UPDATE_RENDER_SCOPE("DALI_RENDER_SCENE");
Integration::RenderStatus windowRenderStatus;
const bool sceneSurfaceResized = scene.IsSurfaceRectChanged();
{
SurfaceResized();
}
- TRACE_UPDATE_RENDER_END("DALI_RENDER_SCENE");
}
}
}
// Render to FBO is intended to measure fps above 60 so sleep is not wanted.
if(0u == renderToFboInterval)
{
+ TRACE_UPDATE_RENDER_SCOPE("DALI_UPDATE_RENDER_SLEEP");
// Sleep until at least the the default frame duration has elapsed. This will return immediately if the specified end-time has already passed.
TimeService::SleepUntil(timeToSleepUntil);
}
}
+ TRACE_UPDATE_RENDER_BEGIN("DALI_RENDER_THREAD_FINISH");
// Inform core of context destruction
mCore.ContextDestroyed();
LOG_UPDATE_RENDER("THREAD DESTROYED");
+ TRACE_UPDATE_RENDER_END("DALI_RENDER_THREAD_FINISH");
+
// Uninstall the logging function
mEnvironmentOptions.UnInstallLogFunction();
}
// of the first frame.
timeToSleepUntil = 0;
+ TRACE_UPDATE_RENDER_BEGIN("DALI_UPDATE_RENDER_THREAD_WAIT_CONDITION");
mUpdateRenderThreadWaitCondition.Wait(updateLock);
+ TRACE_UPDATE_RENDER_END("DALI_UPDATE_RENDER_THREAD_WAIT_CONDITION");
if(!mUseElapsedTimeAfterWait)
{