5
$\begingroup$

Particles give more controls for doing things like randomizing rotation of instances, but duplifaces and group instances allow for rotation and scale of individual instances.

For something like creating a forest with a lot of trees, is it more efficient to use a particle system? Or a dupliface object?

What is the most efficient way to instantiate a large number of objects?


By "efficient" I mean in terms of rendertime/memory usage.

$\endgroup$

1 Answer 1

1
$\begingroup$

I do not know the specifics of Blender's implementation. But, it seems to me, they would use the exact same algorithm in both cases. With particle instancing, you have a position vector and a transformation matrix for each particle. The only difference with dupliface is the position vector is determined by an object's face, rather than a particle.

So, memory is going to be the same. Render time should be the same, unless you're using extra features. For example, you can have objects deform along a particle's path when using particle instancing. The deformations would take extra time to compute when rendering.

$\endgroup$
5
  • $\begingroup$ Deformations should only increase Building time, not Render time. $\endgroup$ Oct 19, 2014 at 9:32
  • $\begingroup$ @someonewithpc building BVH is done for rendering, so you could arguably consider it as part of render time.. $\endgroup$
    – gandalf3
    Oct 20, 2014 at 1:31
  • $\begingroup$ @gandalf3 but if you use Cache BVH, it skips building and just renders... $\endgroup$ Oct 20, 2014 at 18:04
  • $\begingroup$ @someonewithpc True.. But only only if nothing changes. But whether it's building time or render time is pretty trivial imo. Doesn't really matter :P $\endgroup$
    – gandalf3
    Oct 20, 2014 at 19:00
  • $\begingroup$ @gandalf3 No, it doesn't, really. :D $\endgroup$ Oct 20, 2014 at 19:36

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .