GUIs sometimes do not (properly) render anymore (in ScrollingFrames?)

Sometimes the GUI system does not feel like updating TextLabels anymore in my game. It can decide to hide them suddenly or completely mangle them. See the video below, which clarifies the issues I am experiencing:

https://streamable.com/aj9p3

Note how chatting a lot (filling a scrolling frame with a lot of labels) will eventually make some labels disappear (two labels are layered, the gray one is some extra shadow label), the blue one should overlay it. Hovering the scrolling frame suddenly makes it show up again. By hovering, the scrollbar thickness will increase to make the scrollbar visible. Manually changing just the scrollbar thickness of the scrolling frame will also fix the invisible labels!

This issue only occurs when there is some chat backlog built up. There is a limit to the chat log size, though. Most labels are also invisible (clipped by the scrolling frame).

I mostly get reports about the names being gray as shown in that video (which is 100% reproducible by filling the chat log). I’ve also gotten a few reports of everything being mangled, which I have never seen before either (names being misplaced completely):

This started happening this week. Does happen in an older version of my game too, so I assume a Roblox update broke something here.

I’ve failed to create a small isolated repro, sadly.

Game where it happens: https://www.roblox.com/games/69184822/Theme-Park-Tycoon-2-Beta (only seeing these issues in the chat log, nowhere else)
OS: Windows 7
GPU: 660ti

2 Likes

I’m having similar issues, only with guis inside ScrollingFrames. Sometimes when the CanvasPosition changes some of the guis appear at the wrong positions, but I haven’t been able to get a solid repro.

I’m also autoscrolling the scrolling canvas each time a message arrives (move all messages up instantly, move canvas position up too, then “tween” the canvas into the neutral position), so that could be related too.

Can confirm this is an issue - elements don’t update correctly when recreated/adjusted.

Pics:
Before:

After (Scrolling down to pick a car, closing app, and re-opening it (Which updates GUI elements/creates new labels).

After you use the scroll bar to move a smidge (Any direction):

Place:

Staff, let me know if you need the place file/GUI’s for reproduction issues.

Edit: What it does:
The localscript pings the server for a list of the player’s available cars, and pulls the data from the default data module (That stores all the data on cars, stored server-side). The client populates the GUI by creating imagebuttons (With the textlabels being parented inside the imagebutton). When all the icons are created, the script updates the scrolling position to Vector2.new(0,0) to reset the scrolling height.

Edit 2: Hierarchy of what you see in the picture.

1 Like

Can confirm, happens on multiple occasions for me too

This is exactly what I’m seeing. A frame may be in the wrong position, then some of its descendants may be in the right position Or not.

Seems to be (mostly?) direct children of the scrolling frame experiencing this issue for me. The blue text is a direct child of the scrolling frame in the video I’ve shown above, the chat text + chat text shade + name shade are descendants of that text label which appear fine.

Can confirm, it’s happening often for me personally.

I have a fix for scrolling frame that should fix this in general. We were detecting changes on property/child signals and immediately doing some recalculation, but we really should just lazily update the scrolling frame on the next render step if it needs updating. I’ll be turning this fix on a week from Wednesday (assuming all things go well and nothing blows up).

10 Likes

Idk if this is related, but UDim offsets only use 16 bit bit numbers, so it wraps at 32768-ish. I found this problem when working on the developer console. I got around this by implementing scrolling in lua.

I shall throw this webm in here. When my GUIs first appear, none of the elements appear right until the frame is scrolled.

Same issue here, everything is stacked until you scroll…


Also resizing the screen causes them to go back to normal, atleast in studio where I’ve tried.

I also am having rendering issues with UIGridLayout and no ScrollingFrames.

This is my gui, the buttons are a UIGridLayout: http://i.imgur.com/GJOsPmb.png
This is what happens when I cut all of the buttons, then re-paste them: http://i.imgur.com/DoITm2y.png
Duplicating the “Twitter” button changes nothing, still renders the same as above.
This is what happens when I cut, then re-paste the entire ScreenGui: http://i.imgur.com/wynWczg.png
Now it’s back to normal, and the new button is there, but the sort isn’t the same.
Now, when I delete the duplicate “Twitter” button: http://i.imgur.com/rwEZJY5.png
Now, when I cut then re-paste the ScreenGui, everything is the way it was originally: http://i.imgur.com/WiUggWy.png

Weird stuff.

Strange, althoguh it seems similar to what I reported the other day?

Apparently it’s being fixed soon though so hopefully your problem will be fixed as well!

1 Like

this should be fixed now, please let me know if you see otherwise

Sadly does not seem to be fixed in my case.

Does seem to be related with things being removed from the scrolling frame in my case, though (and it seems like only direct children of the scrolling frame mess up by themselves while their children are looking fine).

Not fixed over here, UI elements still out of place (Specifically seems to be textlabels, when they’re direct descendants of another UI element). https://i.gyazo.com/7095f89cb320bdb51b1e73b09c33f742.png

can someone send me a repro file with steps to repro? It should not have any of the new ui constraints or layouts (uigridlayout, uilistlayout, etc.)

Check PM’s.

1 Like