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:
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.
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.
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.
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.
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).
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 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
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).