New SurfaceGui.MaxDistance property

Wow, 1000 studs sure is far for a surfacegui, this runway number is 15 studs across!
from 999 studs:
image

1000+ studs:
image

5 Likes

This would work a lot better if the surfacegui background didn’t vanish with the text/images.

3 Likes

Small update, but cool nevertheless

2 Likes

This is great! I like performance updates. Will there be a similar property for ParticleEmitter in the future?

4 Likes

This is awesome. As a suggestion, I would like to see the ability to offer intent to Roblox rather than strict values.

In my game, I have a large area with lots of SurfaceGuis. I would like as many as reasonable to render, because hardcoding a max distance on them for the lowest denominator would make the game look bad to everyone, but I would like to signal to Roblox that a SurfaceGui is okay to stop rendering if it is too far.

Something like a minimum distance property, and the option to let Roblox choose at the in betweens of min and max distance whether or not my SurfaceGui should be rendered.

Basically, I want you to always see SurfaceGuis close to you, and for anything further, let Roblox decide based on specs/graphics quality.

11 Likes

this will definitely benefit tons of people wanting better performance

2 Likes

You could run a command like this in the command bar:

for i,v in ipairs(game:GetDescendants()) do if v:IsA("SurfaceGui") then v.MaxDistance = 1000 end end
8 Likes

Could you guys also make it so SurfaceGui Wrap around Meshes or curvy blocks or anything? So it becomes a decal, But more efficent, so people could make wraps around it and it could be useful!

6 Likes

If they couldn’t do that with decals then I doubt the can make it work with surfaceGUI

4 Likes

You could make a localscript that sets the max distance property on the client based on the users graphics quality.

Here is a script that does so.

UserSettings().GameSettings.Changed:Connect(function()
	local children = game:GetDescendants()
	for i = 1, #children do
		if children[i].ClassName == "SurfaceGui" then
			children[i].MaxDistance = 12.8+(UserSettings().GameSettings.SavedQualityLevel.Value*38.4)
		end
	end
end)
5 Likes

Very great FPS-wise, will find a use one way or another.

2 Likes

Small, but much needed update. Thanks so much!

2 Likes

Decals can wrap around meshes or curvy blocks but the problem is SurfaceGui does not have the same accesibility as a decal, now how will we make easy customization on cars,guns,building? And even reflections!

5 Likes
  1. I shouldn’t have to, Roblox knows best what it can perform given the specs
  2. This doesn’t work with Automatic.
4 Likes

Nice update! This could improve performance in a lot of games

1 Like

I NEVER KNEW THAT WAS POSSIBLE, THANK YOU DUDE.

What is the “C:” for? I’m curious.

That stands for classname

the search features are explained more here:

Is there a performance increase graph to see how much of an improvement this is?

This looks very interesting and can make the SurfaceGui more beautiful, but if you want something optimized in your game it is recommended to use Decals.

1 Like

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