BVH always rebuilding

I’m working on a scene that I want to animate. I optimized it quite well, the render time in cycles pretty short. But the scene is huge, so building the BVH right now takes longer than rendering.
If I try to use “cache BVH” it still gets rebuilt on every frame, even so nothing is animated except for the camera. Why is that? Maybe cause of linked objects (library)?

hi ! please look under performance tab in the render settings. See if you have Static or Dynamic BVH enabled also experiment with the acceleration structure to see If that helps any !

The static / dynamic setting is for the viewport only. Final rendering is always static. I don’t see an option for acceleration structure in 2.73. But thanks anyway, if you have more ideas…?

EDIT: Well yeah, now I see the acceleration structure. Didn’t see it because there’s only the spatial splits option. Still, spatial splits doesn’t change the problem.

Don’t use cache, it’s useless. It will be removed in the near future.

Don’t use spatial slits, it isn’t multithreaded and cases where it would improve render times anyway are pretty few and far between.

Ideally Cycles would check BVH changes between frames, but currently it doesn’t. So for the time being, there’s no way around the BVH build on each frame. Try simplifying what you can in the scene, I rarely run into super long BVH builds anymore unless I have tons of objects with way too many subdivision surface modifier levels.

Well, damn. I didn’t expect that. Thanks a lot for the info, @m9105826 you saved me probably 20h of searching what the problem is.

I’m afraid I can’t optimize it much further so, because the scene is complex with lots of objects. The build time is around 20 seconds, which isn’t actually that long. Compared to the render time of 7 seconds it is. Multiplying by 1000 frames, well, like I said, damn. :smiley:

Still, thank you for the tips and the info again.