Laggy Minecraft map

  • What are you attempting to achieve? (Keep it simple and clear)
    Optimizing SurfaceGuis

  • What is the issue? (Keep it simple and clear - Include screenshots/videos/GIFs if possible)
    I have made a Minecraft map for my game and i used surface Guis and it is so unoptimized i get 10 fps max
    image

  • What solutions have you tried so far? (Have you searched for solutions through the Roblox Wiki yet?)
    I tried to use meshparts but i have no idea how to use textures correctly, checked if decals/textures are better but it’s the same

Show an image of the map?
I’m guessing you’re using loads of individual parts with surfaceGUIs on them - is the map actually going to be able to be changed, like blocks being placed and destroyed?

Oh my god you have like 5261 blocks with SurfaceGui
Find out about Textures. Just set some options. And go with stable FPS

I think another thing you should do for extra optimization is preload assets of your map on the client using ContentProvider.
I assume since you put this in #help-and-feedback:building-support You’re not a scripter, but even if you are I’ll give you an example code to illustrate how you would do this:

local ContentProvider = game:GetService("ContentProvider") -- This is a service wrapped in a variable, variables store information kind of like boxes with things in them.

local LOGO_ID = "rbxassetid://658743164"
local PAGE_TURN_ID = "rbxassetid://12222076"

local decal = Instance.new("Decal")
decal.Texture = LOGO_ID

local sound = Instance.new("Sound") 
sound.SoundId = PAGE_TURN_ID

local assets = { decal, sound } -- This is just a table (array), kind of like a list

ContentProvider:PreloadAsync(assets) -- Anything below this function occurs AFTER the assets have been loaded, hence the print statement at the end

print("All assets loaded.") -- Prints a message in the output


this is the map i can fully remake it block by block but i got no idea how to actually optimise it

I think the best thing to do here is to map the minecraft block textures onto a block mesh in Blender or something. You can use surface appearances with that so it will be by far less laggy. Also use the ContentProvider service to load in all the textures when the game starts.

have you tried hiding the blocks that are not exposed to air? You could also try greedy meshing for more optimization

1 Like

yes there is absolutely no blocks that are not exposed to air, what lags the most are the grass blocks

just use greedy meshing on them

Maybe use a grass texture and convert only free blocks to image drivens ? (to show the dirt
)

if i use greedy meshing the textures will just be stretched

Do it in blender, and then play in RBS with the texture setting until the UV fits ?

use the actual texture instance in roblox and make sure it’s set to the correct size

3 Likes

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