Skip to content

composite-cache: Cache data for simple algorithms

Andreas Buykx requested to merge bxa/vtk:composite-cache into master

When the composite data pipeline re-executes it calls a simple (not composite aware) algorithm for all leaf blocks in the input, even if these leaf blocks are unchanged since last call. This change introduces a vtkDataObjectCache that facilitates reusing output blocks. The vtkCompositeDataPipeline uses the vtkDataObjectCache if the input data is not marked for release and if the new global flag for caching is set (true by default).

The cache is cleared when the algorithm or any of the non-composite inputs are modified more recently than the cache. When the composite input has its vtkStreamingDemandDrivenPipeline::RELEASE_DATA flag set, the cache is disabled and cleared.

Merge request reports