Minor optimize during iterate of uniform map 79/275879/1
authorEunki, Hong <eunkiki.hong@samsung.com>
Fri, 3 Jun 2022 12:30:57 +0000 (21:30 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Fri, 3 Jun 2022 12:30:57 +0000 (21:30 +0900)
Dali::Vector.End() operation is heavy.
We don't need to calculate this value every iteration. So just precalculate
the end-of-iterate. It will increase performance.

Change-Id: I475d01367348943f0f4b12a6aeb870c413db0dfc
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
dali/internal/update/common/uniform-map.cpp

index 2caba5e..76e6081 100644 (file)
@@ -28,7 +28,7 @@ namespace SceneGraph
 void UniformMap::AddObserver(Observer& observer)
 {
   bool foundObserver = false;
-  for(ObserversIter iter = mObservers.Begin(); iter != mObservers.End(); ++iter)
+  for(ObserversIter iter = mObservers.Begin(), endIter = mObservers.End(); iter != endIter; ++iter)
   {
     if(*iter == &observer)
     {
@@ -44,7 +44,7 @@ void UniformMap::AddObserver(Observer& observer)
 
 void UniformMap::RemoveObserver(Observer& observer)
 {
-  for(ObserversIter iter = mObservers.Begin(); iter != mObservers.End(); ++iter)
+  for(ObserversIter iter = mObservers.Begin(), endIter = mObservers.End(); iter != endIter; ++iter)
   {
     if(*iter == &observer)
     {
@@ -57,7 +57,7 @@ void UniformMap::RemoveObserver(Observer& observer)
 void UniformMap::MappingChanged()
 {
   ++mChangeCounter;
-  for(ObserversIter iter = mObservers.Begin(); iter != mObservers.End(); ++iter)
+  for(ObserversIter iter = mObservers.Begin(), endIter = mObservers.End(); iter != endIter; ++iter)
   {
     Observer* observer = (*iter);
     observer->UniformMappingsChanged(*this);