Play Solo takes 30+ seconds

All large projects experience these issues and regardless of development environments.

Usually large codebases like this heavily modularize, for example putting the common code into a package and having the tests be a different place might be an option.

Having said that we have ongoing projects to make loading times faster but the gains are going to be gradual.

  1. It’s impossible to take a microprofiler dump because the microprofiler cannot be interacted with while the game is loading in, resulting in useless data.
  2. I do not use 3rd party plugins.

Why is this not an issue on other development platforms with codebases over 50x the size, with many gigabytes of assets?

You should be able to Ctrl+F6 before play solo, click play solo, then dump frames. That shouldn’t provide useless data and you don’t need to interact until it’s finished.

After doing some debugging, it looks like everytime I play-test, it takes a auto-recovery file which takes roughly 12 seconds to complete before the game even starts loading:

13:38:32.441 [Dev] Pet Simulator 99 @ 15 May 2024 13:38 auto-recovery file was created - Studio

I have this completely disabled in my settings, but it is still happening. (2.4 MB)

Here is a capture I just took, it looks like a lot of packets + random core script stuff, such as PlayerListManager.


The issue is that I have no way to capture the events that occur prior to this, and there is a 10-15 second gap where the entire studio window is frozen whilst the Auto-recovery file is being saved.

I have also confirmed all of those network packets are not being sent by us. We have a centralized system for network events and nothing we are sending matches the frequency of which those packets are being sent.

I tried setting the path to a flash drive, removing the flash drive, and then hitting play - however, it still tries to generate the backup and save it, so this was no help.

Was just barely able to capture this, massive CoreScript executions. (1.2 MB)

This is a dump from after stopping the play-test and the lag that ensues: (2.1 MB)

For context, I am running:
13900k or 14900k depending if I am at the office (very little difference between both)
128GB or 192GB of RAM
RTX 4090 on both PCs
Windows 10, with very minimal applications installed.

Another dump. It’s extremely difficult to capture the beginning of the play-test. Studio is completely locked up and the MicroProfiler interface does not respond to clicks until after the complete freeze has ended. (1.6 MB)

Here is another dump from stopping a play-test where my studio is running at around 5fps for a good 15 seconds. (2.0 MB)

Here is another play-test dump. (2.0 MB)

Here is a video capture and microprofile together: (2.3 MB)

Thanks for your patience with these microprofiler dumps…I had thought that even though the bar was black that there was still information there. :sweat:

I’m seeing if we understand what’s going on and if not, I can potentially get you a more capable profiler.


First of all, thank you for the microprofiler dumps. We can only make things better together.

As far as the platforms and codebases are concerned, I can relate to the frustration; I’ve run into this multiple times during my professional experience and the two avenues to take were: either improve the dev environment or the codebase. Often both of these approaches are needed.

As far as Roblox Studio is concerned, we’re currently working on improving the auto recovery that you mentioned. The fact that it saves even with the setting disabled is not acceptable.

There is also a workstream to speed up serialization / deserialization.

Our main focus is stability and performance right now as mentioned here and the improvements will keep coming.


What are your PC Specs? That might help to determine

3 TB PCIe 5.0 SSD

it’s not my PC.

That’s a good PC :o. So it can’t be a PC issue

How are things going on this? It’s been a month :confused:

Thank you for checking in on this.

We have multiple ongoing workstreams to address Studio hangs, and a special workstream to address the issues raised about TeamCreate.

As part of this, we’re investigating the options to speed up the following parts of the DM load that are affecting Play Solo and are visible in the Microprofiler logs you provided:

  • Font loading
  • Change History (undo / redo)
  • Layout management
  • Render initialization
  • Data serialization
  • Autosave logic

As you can imagine, this will take some time, though we’re making steady progress. We’ll continue to update you on this but please do keep checking in as well.

1 Like