Every now and then, while scrolling through server lists for games on Roblox, I’ll see a red icon next to the join button saying “Slow Game.” How exactly does Roblox determine if a server is slow? Is it script performance? Server memory? Overuse of remotes?
How about just general server lag. Maybe lower overall fps
Do servers running on Roblox’s end even actually render frames? I feel like that’s pretty wasteful
I’d assume Roblox determine if a server is a “Slow Game” by checking the average server heartbeat value to see if it drops below a certain value.
Rendering isn’t done by the server. It’s something done by the client.
It doesn’t render frames, but it still has the concept of frames. Otherwise you wouldn’t get RunService.Stepped or Heartbeat events.
Exactly! Those are Physics steps. You’ll notice
RenderStepped doesn’t fire on the server.
I’m pretty sure Roblox determines slow servers through a watchdog routine. The server does a variety of things including
- Execute scripts
- Send network updates
- Perform physics calculations
I’d say generally executing scripts is the cause of the lag. Usually by the time you send a lot of network updates you’ve disconnected clients before the server crashes.
Sometimes physics calculations can be the issue, but left untouched, Roblox is rather good at distributing physics to other clients.