Improvements to Experience Chat Performance

I also play at 1440p and I can barely read the chat. Mostly because my monitor is not actually meant for 1440. It’s 1440p modified to fit a 1080p monitor. Regardless, I think the chat window definitely needs a draggable resize button.

6 Likes

what would this look like, perhaps?

1 Like

Howdy’

You mentioned improvements when chat components are disabled — does this include bubbles? Our team saw that even when disabled, they would take up significant performance.

1 Like

Thats why now most of my chat messages doesn’t show up in the text chat but visible speech bubbles… its kinda annoying because my friends will say to me why i ignore them

1 Like

You can customise the font and font size via the properties of the instances within the chat service quite easily, so you can already fix this. However Roblox absolutely need to fix the default size and also improve its scaling for larger screens.

Definitely should be player-customisable via a setting to change the chat font and font size from default imo.

2 Likes

This is pretty valid; I’ve seen a lot of responses from staff taking care of this issue in particular and can say that the time taken to process chat is reduced.
Thanks for optimising this.

Hopefully these optimisations can be replicated in other react-lua spaces, such as the Roblox app landing page updating whilst in-experience costing up to 30ms per frame despite user context not requiring it. I have gone through the effort of defining a repro for you guys to follow.

4 Likes

Does this actually improve performance? If so, could proper evidence be provided? this post just seems to follow a “trust me bro” mentality, which is bad in terms of a severe, lingering frametime issue that roblox has inflicted onto itself with no way to avoid it anymore as they’re forcing us to use the “frametime accumulators” now

5 Likes

They did improve performance though just a bit. Some actions like typing are seemingly more optimized (if you consider 1 to 0.4 ms per character input to be optimized) though their previous performance issues have been now replaced by SchedulerHostConfig.default?

Either way, these performance improvements are nothing really meaningful.

4 Likes

cool so they did absolutely nothing, or they did other things that don’t actually improve the chat system’s lingering hunger for all the frametimes

either that or all the optimizations broke immediately, which is kinda plausible for roblox

3 Likes

I mean they did something. The numbers im seeing are technically lower. Sending messages would create a 15-8 ms stutter before and now its only a 12-5 ms stutter soooo theres that. But yeah, personally i would appreciate news about how the stutters are gone entirely.

But yeah, this statement is pretty sneaky. I’m sure average frame times of 30 going down to like 20 is a considerable drop but yknow…

5 Likes

that is not going to make a difference as roblox’s forced stuff is still stealing like 30ms of frametime, possibly more, possibly less

but clearly it’s a very severe issue when even high tier hardware can’t get rid of that frametime usage

like if you don’t launch a game directly through the website, that’s 30ms of frametime being spent on unnecessary updates, and then other roblox core scripts are probably going to eat up another 20-40ms

3 Likes

My time as the biggest TextChatService hater has come yet again. (Just kidding)

These changes are great, I don’t hate for the love of the game, I hate it 'cus the system being forced is not yet any better than the previous system that you could easily modify and make your own. So when improvements arrive, they’ll always be appreciated.

Though, can you give us a clear benchmark or % of how much the performance has improved? A small 1-2% is barely any change, whereas 20-30% is actually pretty significant.

From my point of view, this announcement has just been made to calm down a certain portion of the community that is rightfully complaining about the ExperienceChatMain because of its poor performance and because they’ve been forced to use it.

I am honestly impressed by how Roblox is still being incredibly stubborn on forcing these changes to the developer base when they can just spend fewer company resources to make it free and up to the developers and literally face no significant consequences or anything whatsoever. (Or anything that is different from today)

6 Likes

Oh btw ignore my previous post saying how adding characters into the chat box takes 1 to 0.4 ms. Here’s some even more fresh numbers. The numbers overall are pretty unstable overall. May have been wrong about my performance improvement claims but who knows. Would appreciate if roblox also told us what exactly changed and by how much.


And yeah as ive said, apparently SchedulerHostConfig.default just replaced the chat stutters.

5 Likes

I am also noticing the same pattern on my end. This Corescript has been taking way more resources lately, and also spiking more often and more severely. I’ve also been noticing and seeing some other Corescripts spiking more. This is just tiring, when will all of this end? Seems like optimization hasn’t been a thing in Roblox for a few years now and perhaps for the entire software making industry.

I am trying to stay optimistic, but to be real and honest, the current performance improvements and fixes that have been rolled out only slightly improved the severity of these performance issues. It’s mostly only spiking up to ~11-12ms now instead of ~15ms. Yeah, no, this isn’t a big improvement. We need it to be as low as how the Legacy Chat System uses if not lower. 11-12ms is still a lot. It shouldn’t even take 5ms. Maybe 1-3ms max. Even lower actually. It’s just sending text messages, why should it be this resource intensive?!

3 Likes

Legacy uses 3-5ms literally lmao.

1 Like

there’s a nonzero chance that these fluctuations have always been happening with the TextChatService

3 Likes

Based on my personal experience, I barely see the Microprofile tag of the Legacy Chat System on the Microprofiler. It doesn’t use a lot. Maybe it uses ~3-5ms in worst cases. Eitherways, TextChatService’s ExperienceChatMain should use as low if not lower. I hate new features or changes that perform worse than what they’re trying to replace. They should either perform the same or they perform better.

2 Likes

Oh I put the MicroProfiler on 10KHz I think. At 1 It doesn’t even show up.

1 Like

This just proves how well optimized the Legacy Chat System is. Roblox should take notes of that and actually make their new thing as optimized as it if not more. It’s ridiculous for a text chat system to take more resources than other calculations like physics or graphics.

7 Likes

I think it’s just that CanUserChatAsync and CanUserDirectChatAsync are just too slow. We have seen in the past that retrieving stuff like if a player has a badge can take up a lot of resources which is why roblox limits it and that makes it slower. Imagine that but for every message it is 2 times much calls… that is quite slow. Because just like a list of badges, the API has to check through a list of blocked users,

It would be nice if roblox could provide percentages so we can see how much it has improved.

2 Likes