9311a5be04
The issue was noticed with gcc-4.7 (used by the release build environment) which didn't generate optimal enough code for BVH references swap. Seems it looked up for the assign operator for each of the reference structure members even though nothing special was required for assignment. Forcing compiler to use simple memory copy gives speedup of like 2-3 times. The issue doesn't happen with OSX's clang and new gcc-4.9, but since we're gonna to stick to gcc-4.7 for official releases for quite some time still it's nice to have performance issues resolved for all the compilers. Didn't put the code into #ifdef so if in the future some issues appears with alignment or assignment which need to happen as an operator we notice this earlier. |
||
---|---|---|
.. | ||
bvh_binning.cpp | ||
bvh_binning.h | ||
bvh_build.cpp | ||
bvh_build.h | ||
bvh_node.cpp | ||
bvh_node.h | ||
bvh_params.h | ||
bvh_sort.cpp | ||
bvh_sort.h | ||
bvh_split.cpp | ||
bvh_split.h | ||
bvh.cpp | ||
bvh.h | ||
CMakeLists.txt |