From cd44449578faa87c22776a0e8ecb792e18ed9a1b Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Thu, 2 Apr 2015 20:37:57 +0500 Subject: Cycles: Synchronize images after building mesh BVH This way memory overhead caused by the BVH building is not so visible and peak memory usage will be reduced. Implementing this idea is not so straightforward actually, because we need to synchronize images used for true displacement before meshes. Detecting whether image is used for true displacement is not so striaghtforward, so for now all all displacement types will synchronize images used for them. Such change brings memory usage from 4.1G to 4.0G with the 01_01_01_D scene from gooseberry. With 01_01_01_G scene it's 7.6G vs. 6.8G (before and after the patch). Reviewers: campbellbarton, juicyfruit, brecht Subscribers: eyecandy Differential Revision: https://developer.blender.org/D1217 --- intern/cycles/render/mesh.h | 1 + 1 file changed, 1 insertion(+) (limited to 'intern/cycles/render/mesh.h') diff --git a/intern/cycles/render/mesh.h b/intern/cycles/render/mesh.h index 6eaafea8729..76c186a3feb 100644 --- a/intern/cycles/render/mesh.h +++ b/intern/cycles/render/mesh.h @@ -167,6 +167,7 @@ public: void device_update_attributes(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress); void device_update_bvh(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress); void device_update_flags(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress); + void device_update_displacement_images(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress); void device_free(Device *device, DeviceScene *dscene); void tag_update(Scene *scene); -- cgit v1.2.3