Load level instance by name low performance

I am using the node ‘load level instance’ to load dynamic sublevels when player get closer using a trigger volumen. This levels are really simple but I got a extremly fps drop for a few seconds when sub levels load. Is this normal? How can I optimice this?

There will be a ‘hiccup’ when the level loads, but it should not be super noticeable.

Are you using a HDD or SSD? ( what kind of hard drive ).

I have a SDD hard drive. My game is runnin over 60-70 fps till you load the sub level and drop to 20 fps for a few seconds (testing from viewport unreal engine). If I packing and test drop is not to high but still having and apreciated drop to 50 fps

Ok. And, when you say the streaming level is simple, do you mean 'like the example levels" or “just an 8k landscape”? :slight_smile:

Like the example leves. My sublevels are tiles about 10000x10000 with a cuple of trigger to spawn enemys or whathever and maybe 3-4 staic meshes to decorate the tile. When I load de sublevel just have the triggers and meshes the spawns and evets trigger later when player is getting more close.

Im see that load level instance node have an input with class level instance but my project crash if I use LevelStreamingLevelInstance or WorldPartitionLevelStreamingDynamic. By the other hand, project settigns has many different options to config level streaming. I tried diferent options but still the low performance

Are you combining level streaming and world partition?

No, I don’t, should I?

Yes right, I don’t know if combining them is a good idea.

I use it just like

So, nothing special.

The level should take roughly the same amount of time it takes to open in the editor. Unless you’ve already streamed it, then it’s pretty much instant.

I’m wondering now, maybe you’re streaming the level more than once? Or something strange. Have you tried using print string to debug the load / unload?

So is like I am doing:

Is true that in my map sometimes 2 o 3 triggers can trigger at the same time but I test individualy and get similars results… :confused: I dont understand

1 Like

Just to be totally sure, put a print string here

Also try checking the size map for one of these levels, just in case:

image

I check and just trigger once. By the other hand… I check size map and I dont understand whats is this info exctly. Checkin one of the sublevels I got this:

but sublevel content is very simple but I understand that size is pretty big, isnt it? What I missing?

I thought that the problem was the huge sublevel but I tried other sublevel smaller and still having drop fps

Drop is less heavy buy still happends.

I have some questions. I see the size level is getting content about resource that some actors need and the resoruces that resources need etc etc. But if in my main level a had already load all this resource when sublevel is invoked and load dont load all resources again, isnt it?

1 Like

OK, so table_ringComponentInfo is quite chunky, base_ringComponent inherits from it, then everything above that.

If the map doesn’t need all this ( on it’s own ), then it’s a good idea to find out why this inheritance chain is occurring.

Also, you might get a different answer if you compare disk and memory space

Dont know whats the point of see disk size or memory size buy here and example of my sublevel:

The chain is happend because the actor that is in the sublevel has a funtion to call my basegamemode to get an achievement, and gamemode calls controller and controler… etc etc. But I ask again, if I have already load the contoller, the tables etc everything has to be load again? even if my sublevel only have 1 actor?

I don’t think they have to load again, but the engine does have to check all of them to see if they are loaded.

I see. I can’t avoid all this chain in sub-levels. Even so, testing with small level that I shared before still have considerable drop, maybe are other thing affecting it?

Ok. Do you have any other stuff going on when you overlap? Stuff on tick?

In the meantime, take a look at

1 Like

Ok Im going to take a look. Thanks a lot :smiley:

Regarding the other thing you mention, I have not more logic than this into the trigger actor: