From d8eda81a291087edd986f70e8d0dcb055b7d7f88 Mon Sep 17 00:00:00 2001
From: Paul Wisbey
Date: Wed, 25 Mar 2015 11:45:14 +0000
Subject: [PATCH] Don't Update twice after a property setter
Change-Id: Iee6daee6ed6fe25f147744d0022f0717401ecbd1
---
automated-tests/src/dali/utc-Dali-RenderTask.cpp | 24 +++++-------------------
dali/integration-api/core.h | 11 +++++------
dali/internal/update/manager/update-manager.cpp | 5 -----
3 files changed, 10 insertions(+), 30 deletions(-)
diff --git a/automated-tests/src/dali/utc-Dali-RenderTask.cpp b/automated-tests/src/dali/utc-Dali-RenderTask.cpp
index 8a7a3cf..0bfc035 100644
--- a/automated-tests/src/dali/utc-Dali-RenderTask.cpp
+++ b/automated-tests/src/dali/utc-Dali-RenderTask.cpp
@@ -1230,17 +1230,14 @@ int UtcDaliRenderTaskContinuous01(void)
application.SendNotification();
// START PROCESS/RENDER Input, Expected Input, Expected, KeepUpdating
- DALI_TEST_CHECK( UpdateRender(application, drawTrace, false, finished, false, true ) );
- application.GetPlatform().ClearReadyResources();
-
DALI_TEST_CHECK( UpdateRender(application, drawTrace, false, finished, false, false ) );
+ application.GetPlatform().ClearReadyResources();
// ADD SOURCE ACTOR TO STAGE - expect continuous renders to start, no finished signal
Stage::GetCurrent().Add(secondRootActor);
application.SendNotification();
// CONTINUE PROCESS/RENDER Input, Expected Input, Expected
- DALI_TEST_CHECK( UpdateRender(application, drawTrace, true, finished, false, true ) );
DALI_TEST_CHECK( UpdateRender(application, drawTrace, true, finished, false, false ) );
END_TEST;
}
@@ -1277,17 +1274,15 @@ int UtcDaliRenderTaskContinuous02(void)
CompleteImageLoad(application, imageRequestId, imageType); // Need to run update again for this to complete
application.SendNotification();
- // START PROCESS/RENDER Input, Expected Input, Expected
- DALI_TEST_CHECK( UpdateRender(application, drawTrace, false, finished, false, true ) );
- application.GetPlatform().ClearReadyResources();
+ // START PROCESS/RENDER Input, Expected Input, Expected, KeepUpdating
DALI_TEST_CHECK( UpdateRender(application, drawTrace, false, finished, false, false ) );
+ application.GetPlatform().ClearReadyResources();
// MAKE SOURCE ACTOR VISIBLE - expect continuous renders to start, no finished signal
secondRootActor.SetVisible(true);
application.SendNotification();
// CONTINUE PROCESS/RENDER Input, Expected Input, Expected
- DALI_TEST_CHECK( UpdateRender(application, drawTrace, true, finished, false, true ) );
DALI_TEST_CHECK( UpdateRender(application, drawTrace, true, finished, false, false ) );
END_TEST;
}
@@ -1321,16 +1316,14 @@ int UtcDaliRenderTaskContinuous03(void)
application.SendNotification();
// START PROCESS/RENDER Input, Expected Input, Expected
- DALI_TEST_CHECK( UpdateRender(application, drawTrace, false, finished, false, true ) );
- application.GetPlatform().ClearReadyResources();
DALI_TEST_CHECK( UpdateRender(application, drawTrace, false, finished, false, false ) );
+ application.GetPlatform().ClearReadyResources();
// ADD CAMERA ACTOR TO STAGE - expect continuous renders to start, no finished signal
Stage::GetCurrent().Add( offscreenCameraActor );
application.SendNotification();
// CONTINUE PROCESS/RENDER Input, Expected Input, Expected
- DALI_TEST_CHECK( UpdateRender(application, drawTrace, true, finished, false, true ) );
DALI_TEST_CHECK( UpdateRender(application, drawTrace, true, finished, false, false ) );
END_TEST;
}
@@ -1655,7 +1648,6 @@ int UtcDaliRenderTaskOnce05(void)
application.SendNotification();
// START PROCESS/RENDER Input, Expected Input, Expected
- DALI_TEST_CHECK( UpdateRender(application, drawTrace, true, finished, false, true ) );
DALI_TEST_CHECK( UpdateRender(application, drawTrace, true, finished, false, false ) );
// CHANGE TO RENDER ONCE,
@@ -1725,12 +1717,10 @@ int UtcDaliRenderTaskOnce06(void)
application.SendNotification();
- // Expect 2 frames to be drawn.
// START PROCESS/RENDER Input, Expected Input, Expected
- DALI_TEST_CHECK( UpdateRender(application, drawTrace, true, finished, false, true ) );
+ DALI_TEST_CHECK( UpdateRender(application, drawTrace, true, finished, false, false ) );
Integration::GlSyncAbstraction::SyncObject* lastSyncObj = sync.GetLastSyncObject();
DALI_TEST_CHECK( lastSyncObj == NULL );
- DALI_TEST_CHECK( UpdateRender(application, drawTrace, true, finished, false, false ) );
// CHANGE TO RENDER ONCE,
newTask.SetRefreshRate(RenderTask::REFRESH_ONCE);
@@ -1800,7 +1790,6 @@ int UtcDaliRenderTaskOnce07(void)
application.SendNotification();
// START PROCESS/RENDER Input, Expected Input, Expected
- DALI_TEST_CHECK( UpdateRender(application, drawTrace, true, finished, false, true ) );
DALI_TEST_CHECK( UpdateRender(application, drawTrace, true, finished, false, false ) );
// CHANGE TO RENDER ONCE,
@@ -2123,7 +2112,6 @@ int UtcDaliRenderTaskOnceNoSync05(void)
application.SendNotification();
// START PROCESS/RENDER Input, Expected Input, Expected
- DALI_TEST_CHECK( UpdateRender(application, drawTrace, true, finished, false, true ) );
DALI_TEST_CHECK( UpdateRender(application, drawTrace, true, finished, false, false ) );
// CHANGE TO RENDER ONCE,
@@ -2180,7 +2168,6 @@ int UtcDaliRenderTaskOnceNoSync06(void)
application.SendNotification();
// START PROCESS/RENDER Input, Expected Input, Expected
- DALI_TEST_CHECK( UpdateRender(application, drawTrace, true, finished, false, true ) );
DALI_TEST_CHECK( UpdateRender(application, drawTrace, true, finished, false, false ) );
// CHANGE TO RENDER ONCE,
@@ -2237,7 +2224,6 @@ int UtcDaliRenderTaskOnceNoSync07(void)
application.SendNotification();
// START PROCESS/RENDER Input, Expected Input, Expected
- DALI_TEST_CHECK( UpdateRender(application, drawTrace, true, finished, false, true ) );
DALI_TEST_CHECK( UpdateRender(application, drawTrace, true, finished, false, false ) );
// CHANGE TO RENDER ONCE,
diff --git a/dali/integration-api/core.h b/dali/integration-api/core.h
index 91a7880..c70edef 100644
--- a/dali/integration-api/core.h
+++ b/dali/integration-api/core.h
@@ -55,12 +55,11 @@ enum Reasons
{
NOT_REQUESTED = 0x00, ///< Zero means that no further updates are required
STAGE_KEEP_RENDERING = 0x01, ///< - Stage::KeepRendering() is being used
- INCOMING_MESSAGES = 0x02, ///< - Event-thread is sending messages to update-thread
- ANIMATIONS_RUNNING = 0x04, ///< - Animations are ongoing
- DYNAMICS_CHANGED = 0x08, ///< - A dynamics simulation is running
- LOADING_RESOURCES = 0x10, ///< - Resources are being loaded
- MONITORING_PERFORMANCE = 0x20, ///< - The --enable-performance-monitor option is being used
- RENDER_TASK_SYNC = 0x40 ///< - A render task is waiting for render sync
+ ANIMATIONS_RUNNING = 0x02, ///< - Animations are ongoing
+ DYNAMICS_CHANGED = 0x04, ///< - A dynamics simulation is running
+ LOADING_RESOURCES = 0x08, ///< - Resources are being loaded
+ MONITORING_PERFORMANCE = 0x10, ///< - The --enable-performance-monitor option is being used
+ RENDER_TASK_SYNC = 0x20 ///< - A render task is waiting for render sync
};
}
diff --git a/dali/internal/update/manager/update-manager.cpp b/dali/internal/update/manager/update-manager.cpp
index 94a2695..5c94fe5 100644
--- a/dali/internal/update/manager/update-manager.cpp
+++ b/dali/internal/update/manager/update-manager.cpp
@@ -1191,11 +1191,6 @@ unsigned int UpdateManager::KeepUpdatingCheck( float elapsedSeconds ) const
keepUpdatingRequest |= KeepUpdating::STAGE_KEEP_RENDERING;
}
- if ( !mImpl->messageQueue.WasEmpty() )
- {
- keepUpdatingRequest |= KeepUpdating::INCOMING_MESSAGES;
- }
-
if ( IsAnimationRunning() ||
mImpl->animationFinishedDuringUpdate )
{
--
2.7.4