Deferred SignalBehavior slows down UI updates

Note: This is a new bug report correcting a previous bug report I submitted about this same issue. Since then I’ve done some more digging into why this bug occurs and I’ve identified the culprit as the “deferred” SignalBehavior mode rather than some UI caching at the engine level.

Turning on deferred mode (appears) to cut UI refresh rates in half, turning smoothly animated UI into a choppy mess. I’m assuming this has something to do with how the engine schedules UI updates in relation to property changes.

This video demonstrates the issue. In it I’m running my game’s UI in Hoarcekat. You can see that when SignalBehavior is set to “immediate” the UI updates smoothly and at what seems to be 60hz (my framerate). However, changing SignalBehavior to “deferred” causes an immediate and very noticeable drop in apparent UI refresh rate. The issue seems most apparent when the UI updates are contingent on the changes to one or more properties of other instances.

Here is a file that can be used to reproduce the issue. Simply run the game and swap between “deferred” and “immediate” SignalBehavior modes while quickly moving the camera around.
UIDeferredRefreshRepro.rbxl (73.9 KB)

Expected behavior

I would expect the UI refresh rate to always appear to match the framerate of the game itself.

3 Likes

Thanks for the report! I filed a ticket in our internal database and we’ll follow up when we have an update for you.

1 Like