If you have a lot 10,000 to 50,000 instances in your starter gui it will introduce big ping spikes everytime a player joins

If you have a lot of Roblox instances in your UI system and have them all in StarterGui then you’ll see a large increase in ping.

Reproduction (100% reproduction rate with enough instances).

  1. Insert 50,000 instances (over-blown, yes, but we have 8k in our production game)
  2. Play in production
  3. Join the game
  4. Have an alt join the game.
  5. Have the alt leave the game.
  6. Watch the ping spike each time the alt joins/leaves the game.

Monitor ping
image

REPRO PLACE HERE: Random Test - Roblox

Doing the same thing in ReplicatedStorage and cloning on the client does not lead to other clients having this same issue.

Investigation notes

  1. Replicating 8k instances isn’t the issue, doesn’t reproduce in replicated storage
  2. Most top games appear to be doing a hack where they move all the stuff in startergui to replicatedstorage on the first frame, and then reparent that to the client, thus, bypassing this issue.

Root cause guess

Most likely caused by something in the replication of PlayerGui or the fact we have to clone the whole server hierarchy of the instances each time a player joins.

Why this is a problem

While we have an easy work around, this is not the case for new creators. Also this is a silly work-around.

16 Likes

Thanks for the report! We’ll follow up when there’s any update on the issue.

2 Likes

Can you make your repro place public/editable, or share the RBXL file here?

2 Likes

Can I send you the place file via some text message? This has our game’s UI in it so I don’t want to just open source it.

You should be able to send it through a PM to them