Blender Git Commit Log
Git Commits -> Revision 92237f1
Revision 92237f1 by Jacques Lucke (master) December 12, 2021, 09:34 (GMT) |
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. |
Commit Details:
Full Hash: 92237f11eba44d77dce4582b77f5a293b93d8675
Parent Commit: b444e1b
Lines Changed: +72, -52
1 Modified Path:
/source/blender/functions/intern/multi_function_procedure_executor.cc (+72, -52) (Diff)