In our previous attempts to fix the lightmapper we may have inadvertently introduced the same issue we were trying to fix. It appears that rand() will on some platforms introduce a mutex making it slower and on others may have a per-thread state that would need to be initialized with srand() on each thread. This slows down the lightbaking further. This sets up a separate rng state for each OpenMP thread by calling rand() only in the single-threaded part of the code. We then keep a vector of states. I believe this solves our problems. |
||
|---|---|---|
| .. | ||
| 2d | ||
| 3d | ||
| animation | ||
| audio | ||
| gui | ||
| main | ||
| resources | ||
| register_scene_types.cpp | ||
| register_scene_types.h | ||
| scene_string_names.cpp | ||
| scene_string_names.h | ||
| SCsub | ||