Procedual generation graph is extremely slow, only with specific section

Hi, I was using unreal 5.8 to make a procedural road. Basically I have a spline that always varies with distance at the start of the game, and a PCG graph spawns the road mesh, trees, even buildings that spawn depending on the district it’s in (the collision boxes that spawn in the world).

I followed one of ProceduralMinds city gen tutorials then extensively modified it to get to where I am at the moment. However, recently I’ve ran into a huge issue. Everything spawns well, but the performance gets gradually worse the longer the spline is. If it’s 5km, everything loads almost instantly, but if its 80km, everything loads extremely slowly and it can’t keep up with the car the player controls. Sometimes it entirely refuses to load. I’m pretty sure the issue lies within the trees and buildings, as when I remove that part of the graph everything loads quickly.

Im still fairly new to Procedural Generation, and I would really appreciate some help with ways to fix the performance with long distance roads. Please keep in mind the roads used to have intersections, so the spline mesh prep may also be too complex for it’s use because I might’ve incorrectly removed the intersection logic.

I attached a screenshot of the main PCG graph, and 2 subgraphs that are used, along with blueprint code showing how I generate the “district” zones that buildings fall in, which runs once at the start of the game, then the PCG graph runs afterwards. I also attached some of the PCG actor settings which will hopefully clear some things up. Although I am using a while loop to spawn the zones, that isn’t the cause of the extremely poor loading speed in the PCG graph. Apologies if the nodes look weird, I used an external plugin to take a screenshot of the whole graph to not lose resolution quality.

I am partitioning the splines, and with the 80km road all the spline meshes load around the player in ~4 seconds. its just with the whole buildings, district and driveway part where the issue lies. Because without that everything loads well, but with it included it significantly slows down.