Blender Git Loki

Git Commits -> Revision 1862fbf

Revision 1862fbf by Sergey Sharybin (master)
February 14, 2015, 21:01 (GMT)
Cycles: Optimize memory usage when creating mesh attributes

The idea behind the change is to pre-allocate attribute arrays in advance,
which avoids re-allocation of arrays later for each of meshes being handled.

This reduces peak memory used by Cycles database from 1.3G to 0.9G for
victor.blend from Gooseberry.

It doesn't mean every file will benefit from this change since peak memory
usage is happening in the different places of the rendering code.

Also, unfortunately, attributes export might not cause the peak of render
preparation stage. That said, it's actually object_to_mesh() which causes
the memory to peak in the same test file. So we really need to optimize that
part first in order to get visible results for artists. But in any case it's
now quite easy to track hotspots in Cycles itself which is good.

Commit Details:

Full Hash: 1862fbf203b84b622d80846bd6d2f76f3cada434
Parent Commit: 18937f6
Lines Changed: +114, -26

1 Modified Path:

/intern/cycles/render/mesh.cpp (+114, -26) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021