Add trace log to FrameCallbackProcessor::Update 16/285716/2
authorHeeyong Song <heeyong.song@samsung.com>
Mon, 19 Dec 2022 01:59:45 +0000 (10:59 +0900)
committerHeeyong Song <heeyong.song@samsung.com>
Mon, 19 Dec 2022 02:01:26 +0000 (11:01 +0900)
Change-Id: I68f66b12400082d477518d6376c37ed53f144b4a

dali/internal/update/manager/frame-callback-processor.cpp

index 1f54b89..10e7d8d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 // INTERNAL INCLUDES
 #include <dali/devel-api/update/frame-callback-interface.h>
 #include <dali/devel-api/update/update-proxy.h>
+#include <dali/integration-api/trace.h>
+
+namespace
+{
+DALI_INIT_TRACE_FILTER(gTraceFilter, DALI_TRACE_PERFORMANCE_MARKER, false);
+} // namespace
 
 namespace Dali
 {
@@ -59,12 +65,19 @@ void FrameCallbackProcessor::RemoveFrameCallback(FrameCallbackInterface* frameCa
 
 void FrameCallbackProcessor::Update(BufferIndex bufferIndex, float elapsedSeconds)
 {
-  // If any of the FrameCallback::Update calls returns false, then they are no longer required & can be removed.
-  auto iter = std::remove_if(
-    mFrameCallbacks.begin(), mFrameCallbacks.end(), [&](OwnerPointer<FrameCallback>& frameCallback) {
-      return !frameCallback->Update(bufferIndex, elapsedSeconds, mNodeHierarchyChanged);
-    });
-  mFrameCallbacks.erase(iter, mFrameCallbacks.end());
+  if(!mFrameCallbacks.empty())
+  {
+    DALI_TRACE_BEGIN(gTraceFilter, "DALI_FRAME_CALLBACK_UPDATE");
+
+    // If any of the FrameCallback::Update calls returns false, then they are no longer required & can be removed.
+    auto iter = std::remove_if(
+      mFrameCallbacks.begin(), mFrameCallbacks.end(), [&](OwnerPointer<FrameCallback>& frameCallback) {
+        return !frameCallback->Update(bufferIndex, elapsedSeconds, mNodeHierarchyChanged);
+      });
+    mFrameCallbacks.erase(iter, mFrameCallbacks.end());
+
+    DALI_TRACE_END(gTraceFilter, "DALI_FRAME_CALLBACK_UPDATE");
+  }
 
   mNodeHierarchyChanged = false;
 }