diff options
author | Jacques Lucke <jacques@blender.org> | 2021-12-12 12:33:05 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2021-12-12 12:34:02 +0300 |
commit | 92237f11eba44d77dce4582b77f5a293b93d8675 (patch) | |
tree | cfcc28f8987aeb779b04580f3b9c24ad2a4e83ec /source/blender/blenkernel/BKE_spline.hh | |
parent | b444e1be0fdc87991ae483919f9d8259f2d79130 (diff) |
Geometry Nodes: improve memory reuse in procedure executor
This reduces the number of separate memory allocations done
by the multi-function procedure executor (which is used by the
field evaluation).
Now a linear memory allocator is used to allocate all intermediate
values. Furthermore, more buffers are reused when possible. This
reduces the total amount of allocated memory and improves
cache efficiency because the values are more likely to be in cache
already.
The performance improvement of this patch are most noticable
when few elements are processed by many functions. The situation
will improve even more with D13548, because then buffers can actually
be reused in practice. I measured up to 20% faster field evaluation
in extreme cases with this change.
Diffstat (limited to 'source/blender/blenkernel/BKE_spline.hh')
0 files changed, 0 insertions, 0 deletions