Hello guys.
Sorry for bumping old thread but looks like I have the same problems here.
I have created actor that uses instancing to place meshes in level. So it have instanced static mesh component and generates instances in loop to place them in x, y or z coordinates.
I tried 2 version of that, c++ and blueprint, and it looks like blueprint version works faster )))
1st is BP, 2nd is C++.
https://youtube.com/watch?v=75eNsJLdn2M
BP doing everything in construction script.
c++ version uses both OnConstruction and PostEditChangeProperty functions, but even with PostEditChangeProperty it takes large amount of time to recalculate instances.
But in my opinion c++ it works maybe 10x times slower.
Mathematics of placement loops it the same - increment loop index, multiply location shift on that index and set everything into instance transform.
So, is there any objective reasons for such performance difference?