diff options
author | Hans Goudey <h.goudey@me.com> | 2022-03-03 19:55:13 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2022-03-03 19:55:31 +0300 |
commit | 471f27d66bd71e80db82c41db2a6fd58f854b46a (patch) | |
tree | cca7e61592ec4d2319bc58c477a36f0882c01ebb /release | |
parent | 908ac7dce21e04767550a9b75b197476e85f3774 (diff) |
Curves: Port endpoint selection node to new data-block
The node should be faster than in 3.1, for a few reasons:
- It doesn't need to calculate and allocate the curve offsets.
- It doesn't need to de-reference a pointer for each curve.
- The inputs are accessed from the virual arrays fewer times.
On top of that, I added two other performance improvements:
- The node is multi-threaded when there are many curves.
- There are generated special cases for single value and span inputs.
**Performance**
With a set position node affecting 1 million splines with a selection
based on this node, on an Intel i5 8250U (times are approximate):
| Before | After | Speedup |
| 760 ms | 60 ms | 13x |
Differential Revision: https://developer.blender.org/D14233
Diffstat (limited to 'release')
0 files changed, 0 insertions, 0 deletions