forked from bartvdbraak/blender
a4a968fd99
Was not so far, because this effect is not modifying its 'own' PaintPoint, which means it's not threadsafe. Since a global lock (mutex or spinlock) would not be much efficient (we need to lock a given point pretty much all the computaion cycle), and since locking a same PaintPOint from different threads at the same time is *very* unlikely, solution here is to use an 'array of locks', one for each PaintPoint (same thing as BLI_bitmap, using atomic ops to set/clear bits). Here in own test (complex dynapaint over a huge sphere combining all dynapaint types), it gives 20% speedup of the whole dynapaint simulation! Note: maybe we'd want to move that kind of bitlock into BLI lib some day - not totally sure how, so let's keep it local for now... |
||
---|---|---|
build_files | ||
doc | ||
extern | ||
intern | ||
release | ||
source | ||
tests | ||
.arcconfig | ||
.gitignore | ||
.gitmodules | ||
CMakeLists.txt | ||
COPYING | ||
GNUmakefile | ||
make.bat |