I’ve heard there’s a new UIStroke class thats been made live. Is this particularly performance heavy on large strings? If so, that might be the culprit as the localization feature is changing the text, making the UIStroke regenerate.
If the OP isn’t using any UIStroke, then this would prove redundant. However, if this would be an issue, would be nice to fix.
Okay, you may have to translate that for me, I’m not sure how this explains why the same parts/terrain/scripts work fine in a new place vs. existing place. Strings in gui text boxes?
That’s great to hear, and details like that should help with fixing the problem! If you can maybe save a version with the billboard that caused the problem that would be awesome, an engineer who knows more about this will hop on tomorrow and give a better explanation. (I work on the networking team and know nothing about the internals of the text scraping system )
This setting explains why the new place works and the old one didn’t. The new place by default has these settings disabled and language set to English:
I fixed my game server, but I converted my freeze test server which was working fine to an empty baseplate with my billboard and the translate setting that causes a hang, here is the link to that: https://www.roblox.com/games/6532142759/mobile-freeze-test
It still hangs for minutes with the one billboard and an empty baseplate.
Hi there, I am another developer at GRP and I can confirm that his has solved our issue. At our main game, we disabled the “Automatic Text Capture” feature and affected devices once again could connect without the 1-2 minute hang. Thank you for the insight!
Great to hear, I’ll give this a shot in my game and see if it improves loading times.
Does this also explain some users crashing while loading in? Alot of users have been reporting either freezing on the skybox/loading for 10 minutes or freezing while the textures load for 5 minutes and then they crash. The disconnect message they get is “Your connection timed out, check your internet connection and try again, Error Code 266”.
Your issue is different, but it looked to me like it was still localization related (based on the microprofiler dumps I got while joining). When I join on my laptop there’s an obvious but smaller (~2s) hang in the microprofiler so it seems like I’m not able to fully repro your problem.
Alright, here’s some info from the engineer who works on this system. Hopefully this helps you all understand the issue a bit more!
There is super long text inside a TextLabel or TextBox instance such as a patch note. If “AutoLocalize” option is on, it’ll try to scrape it, hence the parameterization as a step of text scraping, will take excessively long time to process the long text.
Solution:
Devs can either separate the text into several paragraph and put them into different TextLabel or TextBox instance
Devs can disable the “AutoLocalize” for the TextLabel or TextBox instance which contains the long text (I wouldn’t recommend this solution)
I’ve sent a fix to limit the length of text which will go through parameterization process. The fix should be in the following couple of weeks(one week for desktop clients, several weeks for mobile etc).
It freezes on I-pad too. When you click the play Button it sometimes loads till we’re you choose the groups, and then freezes. On the other hand, sometimes it just freezes right when you join.
I’m sure your contact has done plenty of testing, but for what it’s worth, I saw no trace of this issue on my game with the PC client, compared to a 4 minute hard freeze on mobile. Maybe the PC client handles this activity differently or just faster? After I knew what to look for, I noticed a slight blip of a pause on PC in studio testing but not from the PC game client.
Anyway, thanks for the support.
To follow up with this issue. I haven’t tried turning AutoLocalize back on for my game, but I noticed my ‘wall of text’ billboard is now truncated. It appears Roblox’s solution was to truncate a TextLabel to a max number of characters. To fix this ‘fix’ in my game, I have broken my wall of text into lines with each line appearing in one TextLabel.