Simple yet efficient way to reduce lag and load times in a large place?

Good evening everyone

I’m researching a ways to reduce lag for a place that is very sizable. My game is a roleplay game for my friends and myself that we actively add on to so its getting very big now.

Now that its size is increasing the game takes longer to load and lags heavily for some of my friends who have low end PCs. Plus loading it up in studio takes around five minutes to fully load, and always crashes when I try to close it.

In the past month I’ve spent on a “Performance update” which it had helped so some degree, the heavy lag is still present. I’ve rewritten all the scripts with smoother code, I’ve then placed all the roleplay areas into server storage that can be toggled from the lobby, I then toggled on StreamingEnabled. Finally removing unneeded parts, meshes, textures, decals, and unions.

All of these helped, but not as much as I had hoped. So I believe the issue is that while these areas are put away in storage they are still taking up memory.

A few solutions I had thought about but not yet tried were:

  1. Moving all the areas into other place instances and taking advantage of the TeleportService,
  2. Upload the areas into models in my inventory that can be ‘required’ when needed.
  3. Moving all assets to another place and somehow “fetch” those assets from that place for the main place.
  4. Store all basepart data in modulescripts referenced by some dynamic load generation (A sort of custom StreamingEnabled I guess)

1 is likely the most probable solution while 4 is insane. I wanted to ask for feedback from the community who likely know tons more about this then I do. Few solutions are also more complicated then what I’m aiming for. If a complicated solution can’t be helped then I’ll do that but I hope to try simple solutions first.

So what can I do to battle the lag, and reduce load times?

Thank you

1 Like

Can I have the link to this place? I can use MicroProfiler to check what is causing lag.

1 Like

If you’re using a lot of Roblox made cylinders/spheres/wedges, that’s probably the problem. They’re unnecessary high tris.

As for wedges, you can export it to blender and remove the backsides, as generally you dont need to see the backsides of wedges. Also I suggest using low poly spheres and cylinders.

Using the same mesh instances that have the same mesh ID also really helps with load times. Compress all your images (except user interface) with imagecompressor.