Is the Array modifier generating memory efficient instances or are they simple copies?

Just wondering this.

Is the Array modifier generating memory efficient instances or are they simple copies?


I wonder this too. Can’t say how it works internally, but judging by how bad the performance gets using many objects I’d dare to say is creating copies instead of instances.

Bu it also could be related to Blender’s viewport still not handling well lots of objects and/or dense geometry…

Oh no, if you use instaced collections (and probably instances since they have been fixed) we manage very big scenes, but I don’t have a clue about the array modifier.

Last i checked they were copies, but not mere simple copies, some logic is applied for merging overlapping verts.

Could this be converted to instances?

To gain some memory improvement at render time while still being able to leverage a curve modifier for example, is this possible or at the very moment vertices are changed all the “instancing” benefits are lost?


Nothing is impossible, but it’s not as easy as “oh we’ll just turn instancing on” someone has to sit down and write the code for it.

Yes yes, I imagine that, I was just wondering if modifying the vertices could eliminate the instancing benefits :slight_smile:

Never take my questions as “can you do that right away as with the “do it” magical button?” hahahah :slight_smile:

There should be an option to have the copies of the array as instances until the moment the user decides to either apply the modifier or merge said instances. Right now is very difficult to handle several objects with an array modifier (let’s say a scene with a few roads and a train rail) because the scene gets slower and slower as you up the number of copies or add more modifiers

Yes, for this kind of things we use animation nodes distributing collection instances, that’s super efficient :slight_smile:


Probably the Everything Nodes project will enable this kind of thing in a cleaner way.


I haven’t heard anyone mention this so I will for what its worth. What if each instance carried little or no data of the original, but was just a marker that referred the renderer to the original model for data to be handled for the instance. One data set taking memory used for all instances.

Then again I don’t know what I’m talking about.

That’s the description of an instance :slight_smile:
The trick here is that if you modify the geo then you loose the instance benefits

Why? I’m not a programmer, so why would a geo change make an instance moot?

oh yeah and how do create an instance anyway?

I was wondering where that button was!! Can you “do it”? ;PPP

I actually asked myself the same question recently, as while modeling a rather complex geometry, having the Array modifier on made working on the mesh sloppy and slow. I’m so looking forward to Everything Nodes!! :smiley:

1 Like

Create a plane with an array, then use duplicate by face. that way you create instances on those faces, it is much more efficient depending on what you want to do. Modifier create geometry no objects, so if you use a simple geometry and then use the instancing option of duplicate by face it will work, is not like option on the modifier but a small hack.