Reduce overhead of notification (like AnimationFinished, PropertyNotify) 44/290144/44
authorEunki Hong <eunkiki.hong@samsung.com>
Mon, 20 Mar 2023 16:19:21 +0000 (01:19 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Wed, 7 Jun 2023 09:12:46 +0000 (18:12 +0900)
commita47be8c9c52483c21ea56367e0129dc88de2a31f
treea4c50512cf88f3e8aa3812ed92e4c047755a8a13
parentb48ce6da6a4778ca1962ec802d1025c8679995e6
Reduce overhead of notification (like AnimationFinished, PropertyNotify)

Previously, we check existed all animations are finished, and send signal.
We can reduce this kind of iteration.

Now, send specific scenegraph notify id, and send signal for this.
It will reduce NotificationManager::ProcessMessage running time on event side.

And, refactorize notifier-interface.
Previously, we use scene-graph object's pointer to check whether this object
is valid or not. But it has some logical problem when we destroy and create
continously.

Now we define NotifyId to specify the notify required item.
So we can expect SceneGraph items to excute notify process.

TODO : Make RenderTaskList also keep hashing... or just ignore this case

Change-Id: Ied35d018d1da854ef0e61343710230461d76c67a
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
25 files changed:
automated-tests/src/dali/utc-Dali-Animation.cpp
dali/internal/common/core-impl.h
dali/internal/common/ordered-set.h
dali/internal/event/animation/animation-impl.cpp
dali/internal/event/animation/animation-playlist.cpp
dali/internal/event/animation/animation-playlist.h
dali/internal/event/common/complete-notification-interface.h
dali/internal/event/common/notification-manager.cpp
dali/internal/event/common/notification-manager.h
dali/internal/event/common/notifier-interface.cpp [moved from dali/internal/event/animation/animation-playlist-declarations.h with 53% similarity]
dali/internal/event/common/notifier-interface.h [new file with mode: 0644]
dali/internal/event/common/property-notification-impl.cpp
dali/internal/event/common/property-notification-impl.h
dali/internal/event/common/property-notification-manager.cpp
dali/internal/event/common/property-notification-manager.h
dali/internal/event/common/property-notifier.h
dali/internal/event/common/scene-graph-notifier-interface-mapper.h [new file with mode: 0644]
dali/internal/event/render-tasks/render-task-list-impl.cpp
dali/internal/event/render-tasks/render-task-list-impl.h
dali/internal/file.list
dali/internal/update/animation/scene-graph-animation.cpp
dali/internal/update/animation/scene-graph-animation.h
dali/internal/update/common/scene-graph-property-notification.h
dali/internal/update/manager/update-manager.cpp
dali/internal/update/render-tasks/scene-graph-render-task.h