Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2018-07-27 16:46:13 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2018-07-27 18:19:54 +0300
commit84d47e3685c7ccfeaf2dd41ab64d1b642f157add (patch)
treeafc96d1ef2c8a74987b44ffe4416adcf95f5bec4 /intern/cycles/render/mesh.cpp
parent709b36e43b94678b18fec20a92d7d34f9b5aa78b (diff)
Cycles: Initial implementation of detailed statistics
Gathers information about object geometry and textures. Very basic at this moment, but need to start somewhere. Things which needs to be included still: - "Runtime" information, like BVH. While it is not directly controllable by artists, it's still important to know. - Device array sizes. Again, not under artists control, but is added to the overall size. - Memory peak at different synchronization stages. At this point it simply prints info to the stdout after F12 is done, need better control over that too. Reviewers: brecht Differential Revision: https://developer.blender.org/D3566
Diffstat (limited to 'intern/cycles/render/mesh.cpp')
-rw-r--r--intern/cycles/render/mesh.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/intern/cycles/render/mesh.cpp b/intern/cycles/render/mesh.cpp
index df408b478b2..ade575a52d6 100644
--- a/intern/cycles/render/mesh.cpp
+++ b/intern/cycles/render/mesh.cpp
@@ -27,6 +27,7 @@
#include "render/nodes.h"
#include "render/object.h"
#include "render/scene.h"
+#include "render/stats.h"
#include "kernel/osl/osl_globals.h"
@@ -2276,6 +2277,15 @@ void MeshManager::tag_update(Scene *scene)
scene->object_manager->need_update = true;
}
+void MeshManager::collect_statistics(const Scene *scene, RenderStats *stats)
+{
+ foreach(Mesh *mesh, scene->meshes) {
+ stats->mesh.geometry.add_entry(
+ NamedSizeEntry(string(mesh->name.c_str()),
+ mesh->get_total_size_in_bytes()));
+ }
+}
+
bool Mesh::need_attribute(Scene *scene, AttributeStandard std)
{
if(std == ATTR_STD_NONE)