FarbigeWelt wrote: Mon Aug 13, 2018 10:57 am
a) Are you sure? I made a test with 1 M particles. Referenced object: a single rectangle with an image texture glossy material. An image with 50x255. During export process task manager reported 28 GB for blender. It took luxcore about half an hour to build all duplicate before it threw some errors in console and killed blender.
lacilaci is right, the point of instances is that the whole mesh is only loaded into memory once.
The instances just need a transformation matrix and some extra info (e.g. material), so they need very little memory.
However they still need
some memory (for example, a matrix is 4 * 4 * sizeof(float) = 64 Bytes (a float is 4 Bytes).
So if you instance 100,000 trees, you need the memory for the base mesh plus 100,000 * 64 = 6,400,000 Bytes = 6.4 MB for the instances.
However an instance is more than just the matrix, so you will need a bit more.
You should not test instances with simple meshes: A quad is just two triangles, so about 6 vertices * sizeof(float) = 24 Bytes. With a simple mesh, you save almost nothing by using instancing compared to duplicating the 24 Bytes around.
Anyway, this thread is not about instancing, it's about film memory usage (at least I assume that it is causing most of the issues).