GUI Objects positions/sizes are updating slowly

,

Hi, I’m having an issue where my GUI elements update slowly whenever I change their Size or Position and I have zero clue what could be causing it.

This is just an example of the size having a delay, position changes have a similar delay. And this also happens on Tweens sometimes, later on in my code if I put more of these like in the example, the window when I minimize/maximize it will start looking choppy/updating slowly.

The code in the example:

TopFrame:GetPropertyChangedSignal("AbsoluteSize"):Connect(function()
	Filter.Size = UDim2.new(0, TopFrame.AbsoluteSize.X-202,1, -6)
end)

I’ve only encountered this issue only 2 times in total ever. I’ve discovered that doing this after setting the size of the rescaled window (or whatever im rescaling/positioning) will fix this issue

local _ = Frame.AbsoluteSize

its a cheap workaround, but the problem with this (which I’m now noticing) is that it causes a lot of FPS lag and creates issues when I change positions frequently later on in my code.

Sorry for the lack of information. This is all I really have right now, and I don’t know how to replicate it in an example place file. Any help is appreciated.

1 Like

Still have this issue and don’t know how to fix it.

i was making similar UI (specifically replicating properties tab design) and the problem is in defered events mainly
Nothing really can be done about it but you can try integrating this update into your resize code.

As @Yarik_superpro mentioned, the issue is from Event calls being deferred by default. Which would make the updating function ran after the rendering frame. You can fix this by either setting workspace.SignalBehaivor to Immediate (which might break your current codes logic), or make it update before the game.RunService.PreRender frame. An approach i’ve figured out before was using a placeholding value that would update both the original UI element size and the other elements that rely on it. Which would ensure all elements being updated at the same time.

1 Like

You should never have Immediate SignalBehavior ever in 2025.
You can integrate the code shown into a code that resizes the window.
The only compromise you can ever do with SignalBehavior is using AncestryDefered in case you need to work with hierarchy.

1 Like