Potential Memory Leak

Hello developers and potentially Roblox staff,

I’m not sure if this has already been posted about, but I couldn’t find a thread on it after a quick search. Over the past week I’ve been experiencing terrible performance on my computer with Google Chrome, connection speed, and Roblox studio. I’m aware quite a few other developers have been experiencing this as well. I may have found the culprit. After looking at my Task Manager for a bit, the memory usage on a Team Create I have open just keep ascending. My computer’s performance will continue to get worse until something crashes, which at some point will be Roblox Studio but until then it crashes other programs that use RAM as well.

This isn’t to say I’m 100% sure this is a Roblox issue and not just my computer, but I don’t know why this would only be happening with Roblox Studio and no other programs. No other games I’ve tested are having these kinds of memory/CPU issues. Even while typing this, my computer has been stuttering and on the brink of closing out of a few programs.

https://gyazo.com/ccd51b281ce743281c4b2518afbcda31.mp4

4 Likes

I’ve had terrible frames and performance recently on Roblox Studio as well.

Pretty sure it’s not just you.

3 Likes

Please check if this issue still happens if you disable all of your plugins.

4 Likes

Thank you for this tip. I didn’t expect it, but somehow a plugin called “Team Create Hats” by presssssure is causing the memory leak.

I will remove this plugin and encourage others to do so.

5 Likes

Probably best to let @Pressssure know about this

1 Like

will look into it, haven’t updated it in a while

3 Likes

There may have been a small memory leak that was in fact my fault that I’ve since cleared up, but I don’t think that was what was causing the performance issue here. There’s an even bigger memory problem:

The plugin called plugin:GetSetting() very often (4 times per frame) instead of caching values. This hasn’t been an issue before, but recently it seems that an update caused :GetSetting() to have a memory management issue. I’ll probably file a bug report for this, but if you want to try it out yourself I’ve made a plugin just to test it:

The only code in it:

plugin:SetSetting("test", 1)

game:GetService("RunService").RenderStepped:Connect(function()
	local t1 = plugin:GetSetting("test")
	t1 = plugin:GetSetting("test")
	t1 = plugin:GetSetting("test")
	t1 = plugin:GetSetting("test")
end)

When enabled the plugin causes memory usage to increase without stopping.

Initial memory usage:
image
Memory usage after about a minute of having the plugin enabled:
image
When the plugin is disabled the issue stops.

Needless to say I’ve fixed the issue, at least in my plugin. If you’re using it you should update immediately. If you have a plugin that you know uses :GetSetting(), make sure it’s not calling it too often until this is fixed.

4 Likes

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