Hey! Everyone has this question, it is a good one to ask. I am going to run over all of the possible things you can do to improve performance, starting out with:
1. Incorporate meshes.
This stages is not essential, but certainly helps. Lets say you have 500 parts, all to the same model. What you can do is, select all of them, then right click them in explorer. Go to “Save to file”, then save them. THEN, you can insert a meshpart, and set its MeshId to the file id. BOOM! You have just eliminated 500 parts, instead using just 1!
For more info on when to do this, you can see my article: Mesh Article
2. Decrease the work load on the Physics engine.
This one is pretty essential. Things like shadows, moving and unanchored parts negatively effect your game performance. To fix this, turn cancollide off for any parts you don’t interact with, and anchor them. Turn cast shadow off for any parts that don’t need shadows. This will help improve game performance, as the Roblox physics engine doesn’t have to compute them. You can also turn off shadowmap, and change lighting properties to make it easier.
3. Improve script performance.
This is a big one. Scripts that do a lot of needless work just take up memory. Try to avoid common errors, and make your scripts clean and easy. If you have ten models, each with the same script in them, that does the same thing, simply turn all of those scripts into one script. That way, the same script isn’t running countless times, under different models.
4. If you are using smooth terrain, eliminate any needless terrain.
Try getting rid of any terrain that isn’t seem. For example, say you have a mountain made of terrain. Hollow it out! It is less triangles/voxels/whatever for the game to compute, thus helping.
5. If you have a massive terrain map, turn on StreamingEnabled
This will help systematically unload and load terrain, depending on your distance from it. However, if you need to be able to see terrain from a long distance, I do not suggest this.
Those are all of the big things you can do. Basically, just try to eliminate waste, or things that don’t need to be there. That will help. If this is the solution, consider marking it, so people know its been solved