[Bf-blender-cvs] [d2cb0f9] master: Cycles: Reduce verbosity of logging
Sergey Sharybin
noreply at git.blender.org
Fri Apr 22 10:56:27 CEST 2016
Commit: d2cb0f955b25857cb4f3fd28ebc4567f997d56b2
Author: Sergey Sharybin
Date: Fri Apr 22 10:55:26 2016 +0200
Branches: master
https://developer.blender.org/rBd2cb0f955b25857cb4f3fd28ebc4567f997d56b2
Cycles: Reduce verbosity of logging
Mainly makes logging less verbose when doing progressive sampling in viewport.
Such kind of verbosity is not really possible to be filtered out with `grep`
so let's reshuffle few lines of code.
===================================================================
M intern/cycles/render/light.cpp
M intern/cycles/render/mesh.cpp
M intern/cycles/render/object.cpp
M intern/cycles/render/osl.cpp
M intern/cycles/render/particles.cpp
M intern/cycles/render/scene.cpp
M intern/cycles/render/scene.h
M intern/cycles/render/svm.cpp
M intern/cycles/render/tables.cpp
===================================================================
diff --git a/intern/cycles/render/light.cpp b/intern/cycles/render/light.cpp
index 1637045..fef28b2 100644
--- a/intern/cycles/render/light.cpp
+++ b/intern/cycles/render/light.cpp
@@ -771,11 +771,11 @@ void LightManager::device_update_points(Device *device,
void LightManager::device_update(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress)
{
- VLOG(1) << "Total " << scene->lights.size() << " lights.";
-
if(!need_update)
return;
+ VLOG(1) << "Total " << scene->lights.size() << " lights.";
+
device_free(device, dscene);
use_light_visibility = false;
diff --git a/intern/cycles/render/mesh.cpp b/intern/cycles/render/mesh.cpp
index 990f725..cc85192 100644
--- a/intern/cycles/render/mesh.cpp
+++ b/intern/cycles/render/mesh.cpp
@@ -1232,11 +1232,11 @@ void MeshManager::device_update_displacement_images(Device *device,
void MeshManager::device_update(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress)
{
- VLOG(1) << "Total " << scene->meshes.size() << " meshes.";
-
if(!need_update)
return;
+ VLOG(1) << "Total " << scene->meshes.size() << " meshes.";
+
/* update normals */
foreach(Mesh *mesh, scene->meshes) {
foreach(uint shader, mesh->used_shaders) {
diff --git a/intern/cycles/render/object.cpp b/intern/cycles/render/object.cpp
index c9cd692..a7ea758 100644
--- a/intern/cycles/render/object.cpp
+++ b/intern/cycles/render/object.cpp
@@ -480,11 +480,11 @@ void ObjectManager::device_update_transforms(Device *device,
void ObjectManager::device_update(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress)
{
- VLOG(1) << "Total " << scene->objects.size() << " objects.";
-
if(!need_update)
return;
-
+
+ VLOG(1) << "Total " << scene->objects.size() << " objects.";
+
device_free(device, dscene);
if(scene->objects.size() == 0)
diff --git a/intern/cycles/render/osl.cpp b/intern/cycles/render/osl.cpp
index e1c5416..cb3cb8b 100644
--- a/intern/cycles/render/osl.cpp
+++ b/intern/cycles/render/osl.cpp
@@ -75,11 +75,11 @@ void OSLShaderManager::reset(Scene * /*scene*/)
void OSLShaderManager::device_update(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress)
{
- VLOG(1) << "Total " << scene->shaders.size() << " shaders.";
-
if(!need_update)
return;
+ VLOG(1) << "Total " << scene->shaders.size() << " shaders.";
+
device_free(device, dscene, scene);
/* determine which shaders are in use */
diff --git a/intern/cycles/render/particles.cpp b/intern/cycles/render/particles.cpp
index 8f9e8c6..50726bb 100644
--- a/intern/cycles/render/particles.cpp
+++ b/intern/cycles/render/particles.cpp
@@ -93,12 +93,12 @@ void ParticleSystemManager::device_update_particles(Device *device, DeviceScene
void ParticleSystemManager::device_update(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress)
{
+ if(!need_update)
+ return;
+
VLOG(1) << "Total " << scene->particle_systems.size()
<< " particle systems.";
- if(!need_update)
- return;
-
device_free(device, dscene);
progress.set_status("Updating Particle Systems", "Copying Particles to device");
diff --git a/intern/cycles/render/scene.cpp b/intern/cycles/render/scene.cpp
index 29163c5..b0052c3 100644
--- a/intern/cycles/render/scene.cpp
+++ b/intern/cycles/render/scene.cpp
@@ -135,7 +135,9 @@ void Scene::device_update(Device *device_, Progress& progress)
{
if(!device)
device = device_;
-
+
+ bool print_stats = need_data_update();
+
/* The order of updates is important, because there's dependencies between
* the different managers, using data computed by previous managers.
*
@@ -239,9 +241,11 @@ void Scene::device_update(Device *device_, Progress& progress)
device->const_copy_to("__data", &dscene.data, sizeof(dscene.data));
}
- VLOG(1) << "System memory statistics after full device sync:\n"
- << " Usage: " << util_guarded_get_mem_used() << "\n"
- << " Peak: " << util_guarded_get_mem_peak();
+ if(print_stats) {
+ VLOG(1) << "System memory statistics after full device sync:\n"
+ << " Usage: " << util_guarded_get_mem_used() << "\n"
+ << " Peak: " << util_guarded_get_mem_peak();
+ }
}
Scene::MotionType Scene::need_motion(bool advanced_shading)
@@ -278,11 +282,10 @@ bool Scene::need_update()
return (need_reset() || film->need_update);
}
-bool Scene::need_reset()
+bool Scene::need_data_update()
{
return (background->need_update
|| image_manager->need_update
- || camera->need_update
|| object_manager->need_update
|| mesh_manager->need_update
|| light_manager->need_update
@@ -295,6 +298,11 @@ bool Scene::need_reset()
|| film->need_update);
}
+bool Scene::need_reset()
+{
+ return need_data_update() || camera->need_update;
+}
+
void Scene::reset()
{
shader_manager->reset(this);
diff --git a/intern/cycles/render/scene.h b/intern/cycles/render/scene.h
index d30a0cb..b29aff8 100644
--- a/intern/cycles/render/scene.h
+++ b/intern/cycles/render/scene.h
@@ -213,6 +213,11 @@ public:
void device_free();
protected:
+ /* Check if some heavy data worth logging was updated.
+ * Mainly used to suppress extra annoying logging.
+ */
+ bool need_data_update();
+
void free_memory(bool final);
};
diff --git a/intern/cycles/render/svm.cpp b/intern/cycles/render/svm.cpp
index f3d39c1..56fb57e 100644
--- a/intern/cycles/render/svm.cpp
+++ b/intern/cycles/render/svm.cpp
@@ -46,11 +46,11 @@ void SVMShaderManager::reset(Scene * /*scene*/)
void SVMShaderManager::device_update(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress)
{
- VLOG(1) << "Total " << scene->shaders.size() << " shaders.";
-
if(!need_update)
return;
+ VLOG(1) << "Total " << scene->shaders.size() << " shaders.";
+
/* test if we need to update */
device_free(device, dscene, scene);
diff --git a/intern/cycles/render/tables.cpp b/intern/cycles/render/tables.cpp
index ad3f486..cde024c 100644
--- a/intern/cycles/render/tables.cpp
+++ b/intern/cycles/render/tables.cpp
@@ -37,11 +37,11 @@ LookupTables::~LookupTables()
void LookupTables::device_update(Device *device, DeviceScene *dscene)
{
- VLOG(1) << "Total " << lookup_tables.size() << " lookup tables.";
-
if(!need_update)
return;
+ VLOG(1) << "Total " << lookup_tables.size() << " lookup tables.";
+
device->tex_free(dscene->lookup_table);
if(lookup_tables.size() > 0)
More information about the Bf-blender-cvs
mailing list