Empty Output From Function When Working With Big Arrays

When I’m working on small sized arrays, there is no problem with the same function. However, since sizes get bigger than tens of thousands, I get this result. Is this a bug or am I missing something?

Here is the content of my ‘Calculate Normals’ function.

Hi,

  • Does this occur in a clean, blank project with no additional content or is it limited to one project?
  • What steps can I take to reproduce this error on my end?
  • Have you tried this in 4.11 or have you only tried in 4.10?

Hi ,

Yes this occurs in every project.

To reproduce this, make ForEachLoop with an array length of 300k or more, and add hundreds of instructions to the loop body.

I haven’t tried this in 4.11.

New: I was able to get output from this big array by increasing maximum loop iteration count, however, maximum value of it is 2147483647 and it is not enough. With a ForEachLoop that work with an array larger than ~3 milllion elements, it still doesn’t work. I must be able to break the limits only for this function.

Have you increased the loop iteration limit within the project settings>General Settings?

Yes, it is at maximum now: 2147483647

But I am still not able get output if size of Triangles array is larger than ~3 millions.
If I manually decrease last index of ‘Triangles>For Each Loop’ by using a ‘For Loop’, it works.

Complexity of ‘Triangles>For Each Loop’ is larger than O(n). n is size of Triangles array.

What is the end goal you are trying to accomplish? It seems as though you may simply have reached the limits of what this system can/is designed to do. It was intended for much smaller use cases and not as a substitute for 3D model creation.

I am trying to create normal maps in the editor dynamically. But I think I have to use C++. I didn’t know that blueprint system is designed for smaller use cases. Thanks for your help :slight_smile:

I believe for this it may be best to try in c++ and see if you can get past this limitation. For now I will mark this as answered for tracking purposes. If you receive the same errors in c++, please post here and we can continue looking to see what is occurring.