Blender Git Loki
Git Commits -> Revision 064caae
Revision 064caae by Sergey Sharybin (master) October 25, 2016, 12:47 (GMT) |
Cycles: BVH-related SSE optimization Several ideas here: - Optimize calculation of near_{x,y,z} in a way that does not require 3 if() statements per update, which avoids negative effect of wrong branch prediction. - Optimization of direction clamping for BVH. - Optimization of point/direction transform. Brings ~1.5% speedup again depending on a scene (unfortunately, this speedup can't be sum across all previous commits because speedup of each of the changes varies from scene to scene, but it still seems to be nice solid speedup of few percent on Linux and bigger speedup was reported on Windows). Once again ,thanks Maxym for inspiration! Still TODO: We have multiple places where we need to calculate near x,y,z indices in BVH, for now it's only done for main BVH traversal. Will try to move this calculation to an utility function and see if that can be easily re-used across all the BVH flavors. |
Commit Details:
Full Hash: 064caae7b2943aa35953642fd4b15d0e9ec05a87
Parent Commit: 81c9e0d
Lines Changed: +99, -1