Why does my ROBLOX game have such bad FPS?

I own a game called “Bomb Door Simulator”. The FPS in the game is terrible and that goes for everyone.
[GAME LINK: [NEW] Bomb Door Simulator - Roblox]

My Device Specs
Processor AMD Ryzen 9 3900X 12-Core Processor 3.79 GHz
GPU NVIDIA GeForce RTX 2070 SUPER
Installed RAM 16.0 GB
System type 64-bit operating system, x64-based processor
Edition Windows 10 Home


Here is an image of the FPS. It jumps from 100FPS to 30FPS every second or so.
The lag usually happens for about 20 seconds then stop for about 20 seconds.

All players have reported getting lag at the same time.

I have tried to the following solutions:

  • Optimizing builds and cleaning all unnecessary parts
  • Removed any unnecessary scripts from explorer.
  • Data previously relied on invoking server for the players profile data, however I changed that to use Boolean and Number Values now. (There are still a few invoke servers that run every second for things like UGC stock and quest updates.)

I am honestly just looking for a genuine fix as I’d like to satisfy the player base so if anyone has any insights on what I could do further it would be much appreciated as I feel as though I’ve tried everything.

5 Likes

Perhaps try StreamingEnabled?
This will automatically improve rendering by lowering quality or even remove instances that the camera doesnt even capture, but be aware that it might break some code (it rarely does that)

2 Likes

You may try look for loops for while they can lag a bit but StreamingEnabled as FartFella said looks like a cool idea.

1 Like

The problem I see here is the severe hard pressure on the server.

As you create so much stuff on the server, it makes the game lag and lower the performance, even cause severe performance issues.

I might advise you a few potential solutions:

1 - Using CSR (Client-Side Rendering)
This way involves a bit different method. You get the actions happened on the client with a remote, add the required info to a table that would make modifying code easier, and send the remote back again, create the desired stuff on the client and keep rendering them there.

This way, as the server does not have much pressure, you might fix the lag issue.

2- Creating more performant ways

Try not using for or while loops, try using “RunService” as it does not rely on the server and it does works depending on the user ping and FPS.

If you’re on the server, you can use RunService.Heartbeat to make an action continously.

Let me remind you again, these are only a few potential solutions and I believe you can find better solutions, hanging out on the DevForum.

If this works, you’re welcome. Have a nice one.