How to Reduce lag by removing unnecessary water and stuff in my game?

Okay so, to start off:

  • I know a lot of topics like this were created, but I need some more details of how I can achieve reducing lag when it comes to my game, because doing something like this seems complicated.

  • Anyways, I have a lot of water in my game for obvious reasons, I need the swimming function to be in my game to get to other islands. Same with a lot of textures, particles, parts, meshes, unions, pointlights and particles.

  • The issue is that it takes from 30 seconds to 5 minutes to load into my game depending on how strong your device is, which is a big issue because players will tend to leave before fully loading in, meaning they can’t experience a game that I’ve put lots of effort into creating.

  • I’m pretty sure that water is a big part of the loading taking so long, because roblox wants all that terrain to be loaded in, instead of playing the game whilst everything loads in.
    However I do have lots of objects underwater for terrain ( under the islands ).

  • So, is there a way to remove water inside of those objects without using the evaporate tool in the terrain editor? This is the main thing I want to achieve. I’d appreciate for further help in order to reduce lag, other than just removing unnecessary water.

Thanks!

  • CookieCrisps

Here are some details and context of what the game looks like in scale of how laggy it could be, along with the water size and underwater objects.


1 Like

According to this staff post, hollow terrain is generally less performant.

You could enable instance streaming, but it does introduce some technical overhead if any scripts depend on the existence of an asset at any given time. Pay close attention to the per-model streaming section if you go this route. I’d also recommend adjusting the RenderFidelity of your assets since the islands are fairly dispersed.

Broadly speaking, it would be a good idea to identify sources of high memory consumption via the developer console and check off common problems.

3 Likes

Using streaming enabled should greatly improve your load time, if you aren’t already and your code is compatible. If you are, perhaps try reducing the streaming target and minimum.

You could test if the water is a large problem by replacing it with part-based water:

It might not be more performant to remove water inside stuff, since it could make the water geometry more complex.

1 Like

Thank you for the information! I will consider looking more into these in order to reduce lag.

Also I just checkmarked Instance Streaming in the workspace, and I’ve gotta say, the whole issue is fixed now. The game will still be laggy but reducing that is another story because the loading time is what had to be fixed.

Water is definitely a large problem, ever since I added it, loading time was far too long.
Thanks for the info, the InstanceStreaming really helps the loading time to be short. I think it’s good if the game loads in whilst your playing.

Both of you have a great solution, so I’d give it to both of you, even if you can only select one.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.