[problem] If a render-once RenderTask's source actor is off-stage, this will cause Dali to render continuously.
[cause] The RenderTask is waiting, but not ready to render.
[solution] Change update logic to only keepUpdating if a waiting task is ready.
Change-Id: I8f6e400a4f19ba731460bcda7e9ea83bd3593268
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
{
RenderTask& renderTask(*(*iter));
- if( renderTask.IsWaitingToRender() )
+ if( renderTask.IsWaitingToRender() &&
+ renderTask.ReadyToRender(mSceneGraphBuffers.GetUpdateBufferIndex()) /*avoid updating forever when source actor is off-stage*/ )
{
mImpl->renderTaskWaiting = true; // keep update/render threads alive
}