DynamicPaint: massive refactor, replace all OpenMP usage by BLI_task and other optimizations.
This commit makes Dynamicpaint modifier evaluation (during playback) a few percents quicker. However, it makes dynapaint's 'image sequence' baking about 33% quicker (from 119 to 77 seconds in own heavy test), partly due to switch to BLI_task itself (about 20%), and partly due to optimizations (remaining ~13%). As usual, did a lot of tests here to ensure nothing is broken, but a lot more users' testing would definitively be welcome too! ;) Note that some quite meaningless omp forloops have been removed (parallelizing thousands of vec copy does make it two or three times quicker, but the few hundreds of microseconds gained do not make any difference in a hundreds millisecond process). Also, this code could still use a lot more cleanup (naming etc.), the way it (tries to) handle malloc faults is also totally flacky and makes the code horribly verbose and convoluted in some places - without actually catching all possible faults (memarena could make it more easy to handle here), etc.
This commit is contained in:
parent
3a73d31c56
commit
c1b7acda4c