[Bf-blender-cvs] [cb8766e9b24] cycles_procedural_api: avoid updating bvh data if no geometry has changed
Kévin Dietrich
noreply at git.blender.org
Fri Nov 6 18:48:01 CET 2020
Commit: cb8766e9b2425c762d9eef537dc4987d13eeae1f
Author: Kévin Dietrich
Date: Fri Nov 6 16:49:17 2020 +0100
Branches: cycles_procedural_api
https://developer.blender.org/rBcb8766e9b2425c762d9eef537dc4987d13eeae1f
avoid updating bvh data if no geometry has changed
===================================================================
M intern/cycles/render/geometry.cpp
===================================================================
diff --git a/intern/cycles/render/geometry.cpp b/intern/cycles/render/geometry.cpp
index 85ca08be9a3..589392dca53 100644
--- a/intern/cycles/render/geometry.cpp
+++ b/intern/cycles/render/geometry.cpp
@@ -1714,6 +1714,7 @@ void GeometryManager::device_update(Device *device,
return;
}
+ bool need_update_scene_bvh = false;
{
scoped_callback_timer timer([scene](double time) {
if (scene->update_stats) {
@@ -1725,6 +1726,7 @@ void GeometryManager::device_update(Device *device,
size_t i = 0;
foreach (Geometry *geom, scene->geometry) {
if (geom->is_modified()) {
+ need_update_scene_bvh = true;
pool.push(function_bind(
&Geometry::compute_bvh, geom, device, dscene, &scene->params, &progress, i, num_bvh));
if (geom->need_build_bvh(bvh_layout)) {
@@ -1763,7 +1765,7 @@ void GeometryManager::device_update(Device *device,
if (progress.get_cancel())
return;
- {
+ if (need_update_scene_bvh) {
device_update_bvh(device, dscene, scene, progress);
if (progress.get_cancel())
return;
More information about the Bf-blender-cvs
mailing list