Add compile time option to memory management for low spec devices (Dali::Vector,... 69/308569/20
authorEunki Hong <eunkiki.hong@samsung.com>
Wed, 27 Mar 2024 12:20:24 +0000 (21:20 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Fri, 10 May 2024 07:49:14 +0000 (16:49 +0900)
commitf39c7390a6ae01b9cefc45964b88e7aa0424df26
tree76fc4e9bb300879ac21e9142bb98b43ee99a0eea
parent8bc657601195aa343141e79b376647a1580c887c
Add compile time option to memory management for low spec devices (Dali::Vector, OrderedSet and memory pool)

Let we give some option to reduce memory capacity for low spec devices.

If app create a lots of Actors and release all of them,
the memory might not be reduced, since we don't release capacity of continous array.

Most of memory bottleneck occured at Transform::Data and Node memory pool, and
Graphics::CommandBuffer.

CommandBuffer pool control at dali-adaptor. So let we control what dali-core
can reduce capacities first.

Note : 64bit OS will always use memory pool feature even if we give compile option
, due to KeyType is uint32_t.

USAGE :

 * gbs build -A armv7l --include-all --define "%enable_low_spec_memory_management 1"

 * cmake -DCMAKE_INSTALL_PREFIX=$DESKTOP_PREFIX -DENABLE_LOW_SPEC_MEMORY_MANAGEMENT=ON

Change-Id: Ifeb2e81a5e56fd31b7a61e55dc311f1205b8dfa8
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
29 files changed:
automated-tests/src/dali-internal/CMakeLists.txt
automated-tests/src/dali-internal/utc-Dali-Internal-DummyMemoryPool.cpp [new file with mode: 0644]
automated-tests/src/dali-internal/utc-Dali-Internal-FixedSizeMemoryPool.cpp
automated-tests/src/dali/utc-Dali-Vector.cpp
build/tizen/CMakeLists.txt
dali/integration-api/ordered-set.h
dali/internal/common/dummy-memory-pool.cpp [new file with mode: 0644]
dali/internal/common/dummy-memory-pool.h [new file with mode: 0644]
dali/internal/common/fixed-size-memory-pool.cpp
dali/internal/common/fixed-size-memory-pool.h
dali/internal/common/memory-pool-interface.h [new file with mode: 0644]
dali/internal/common/memory-pool-object-allocator.h
dali/internal/event/common/property-notification-manager.h
dali/internal/event/size-negotiation/memory-pool-relayout-container.h
dali/internal/event/size-negotiation/relayout-controller-impl.cpp
dali/internal/file.list
dali/internal/render/common/render-item.cpp
dali/internal/render/common/render-list.h
dali/internal/render/common/render-manager.cpp
dali/internal/update/common/discard-queue.h
dali/internal/update/common/scene-graph-scene.h
dali/internal/update/manager/frame-callback-processor.h
dali/internal/update/manager/scene-graph-traveler.cpp
dali/internal/update/manager/scene-graph-traveler.h
dali/internal/update/manager/transform-manager.cpp
dali/internal/update/manager/update-manager.cpp
dali/public-api/common/dali-vector.cpp
dali/public-api/common/dali-vector.h
packaging/dali.spec