Trigger Program cleaning by the size of cache container 11/299911/34
authorEunki, Hong <eunkiki.hong@samsung.com>
Thu, 12 Oct 2023 03:19:07 +0000 (12:19 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Thu, 25 Jul 2024 04:25:25 +0000 (13:25 +0900)
commit516bfb12483594e9818a1cd7c30530ad7539d3ce
tree229220459204585ebcd683a3cd2f96393f45a088
parentddb217f8155ed9e2c465fb55add8820bc6fb9cac
Trigger Program cleaning by the size of cache container

Current logic try to clean program cache every 10 seconds.
That mean, we need to re-create program.
It might make some unneccessary performance slow-down actions.

To avoid it, let we try to GC only if the number of program cache size
is bigger than threshold, not always.

And also, for every GC time, we delete only 5 programs incrementally per each frame.
So make we less-block the rendering time.

It will be useful for real world app who don't use custom shader.

Change-Id: Ie4e3bfb3486984673caa79750f55d813f256c0bf
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
automated-tests/src/dali/utc-Dali-RenderTask.cpp
automated-tests/src/dali/utc-Dali-Shader.cpp
dali/internal/render/common/render-manager.cpp
dali/internal/render/renderers/pipeline-cache.cpp
dali/internal/render/renderers/pipeline-cache.h
dali/internal/render/renderers/render-renderer.cpp
dali/internal/render/renderers/render-renderer.h
dali/internal/render/shaders/program-controller.cpp
dali/internal/render/shaders/program-controller.h
dali/internal/render/shaders/program.cpp
dali/internal/render/shaders/program.h