After some fiddling I was able to recreate the mesh generation and there was one thing that really suprised me…
The performance from BP vs. C++ is not that different at first glance the real performance killer is the provided engine function called:
UKismetProceduralMeshLibrary::CalculateTangentsForMesh(Vertices, Triangles, UV, OUT Normals, OUT Tangents)
generating 100 *100 Quads in C++ without that function takes 50ms. With the function 950ms!
The Blueprint equivalent takes about 110ms without and 1150ms with calculating tangents.
So if you don’t calculate the tangents, c++ is more than 2x faster, but with the function it is almost the same.
But still it doesn’t really bother me. The procedural mesh terrain I have in mind is alot like the official landscape with it’s components and section size.
I think I can get away with a section size of 100m100m (5050 quads, single quad 2m).
Whenever a projectiles hits the ground in most cases only 1 section has to be updated (2 or 4 if it happens to hit the borders) so it shouldn’t really matter how many of those sections you generate.
I hope you could understand what I was talking about
If you want to take a deeper look to my nonsense: https://github.com/Minaosis/04_BattleTank/commit/56489f9935980ae9e8f1151919541cb7eaa4a61a