diff options
author | Omar Emara <mail@OmarEmara.dev> | 2022-11-04 17:14:22 +0300 |
---|---|---|
committer | Omar Emara <mail@OmarEmara.dev> | 2022-11-04 17:14:22 +0300 |
commit | 85ce4882981943b5a306090f03482bd5397c503d (patch) | |
tree | ee5c20f6a58d7688a304f4958d5466a4c707c375 /source/blender/compositor/realtime_compositor/intern/evaluator.cc | |
parent | 943d574185d784c8e4c30b50e52e11f54b11ec50 (diff) |
Realtime Compositor: Implement static cache manager
This patch introduces the concept of a Cached Resource that can be
cached across compositor evaluations as well as used by multiple
operations in the same evaluation. Additionally, this patch implements a
new structure for the realtime compositor, the Static Cache Manager,
that manages all the cached resources and deletes them when they are no
longer needed.
This improves responsiveness while adjusting compositor node trees and
also conserves memory usage.
Differential Revision: https://developer.blender.org/D16357
Reviewed By: Clement Foucault
Diffstat (limited to 'source/blender/compositor/realtime_compositor/intern/evaluator.cc')
-rw-r--r-- | source/blender/compositor/realtime_compositor/intern/evaluator.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/source/blender/compositor/realtime_compositor/intern/evaluator.cc b/source/blender/compositor/realtime_compositor/intern/evaluator.cc index 48457bec199..1cd7d4f8951 100644 --- a/source/blender/compositor/realtime_compositor/intern/evaluator.cc +++ b/source/blender/compositor/realtime_compositor/intern/evaluator.cc @@ -28,6 +28,7 @@ Evaluator::Evaluator(Context &context, bNodeTree &node_tree) void Evaluator::evaluate() { + context_.cache_manager().reset(); context_.texture_pool().reset(); if (!is_compiled_) { |