[Bf-blender-cvs] [3bc9ac1] master: Cycles: Free memory used by intermediate BVH vectors earlier

Sergey Sharybin noreply at git.blender.org
Thu Feb 19 15:03:14 CET 2015


Commit: 3bc9ac19f5086fa615ee1b109be36bae9bb855f6
Author: Sergey Sharybin
Date:   Thu Feb 19 18:58:21 2015 +0500
Branches: master
https://developer.blender.org/rB3bc9ac19f5086fa615ee1b109be36bae9bb855f6

Cycles: Free memory used by intermediate BVH vectors earlier

Ideally we should get rid of those temporary vectors anyway, but
it's not so trivial because of the alignment. For untl then we'll
just have a bit worse solution. This part of code is not the root
of the issue of memory spikes for now anyway.

But since we're getting rid of temporary memory earlier actual spike
is a bit smaller as now. For example in franck_sheep file it's now
5489.69MB vs. previously 5599.90MB.

===================================================================

M	intern/cycles/bvh/bvh.cpp

===================================================================

diff --git a/intern/cycles/bvh/bvh.cpp b/intern/cycles/bvh/bvh.cpp
index 2e70d61..2152349 100644
--- a/intern/cycles/bvh/bvh.cpp
+++ b/intern/cycles/bvh/bvh.cpp
@@ -205,6 +205,9 @@ void BVH::build(Progress& progress)
 	pack.prim_type = prim_type;
 	pack.prim_index = prim_index;
 	pack.prim_object = prim_object;
+	prim_type.free_memory();
+	prim_index.free_memory();
+	prim_object.free_memory();
 
 	/* compute SAH */
 	if(!params.top_level)
@@ -227,7 +230,7 @@ void BVH::build(Progress& progress)
 	/* pack nodes */
 	progress.set_substatus("Packing BVH nodes");
 	pack_nodes(root);
-	
+
 	/* free build nodes */
 	root->deleteSubtree();




More information about the Bf-blender-cvs mailing list