Ok so I’m aware that there are some bugs in my game that only are present on lower framerates.
I know studio has a testing tool for testing if the server/client loses connection, but are they any ways to intentionally lower my framerate to help test the game’s performance on lower framerates?
I only have PC’s that are fully capable of running Fray at 60 FPS all the time, so I’m not able to just log onto a different machine and test it out.
There is no proper way to do this that isn’t hacky.
Fractality_alt posted a solution in 2017 that does accomplish it, but it is hacky.
To generalize the solution a bit, here is how to target an arbitrary frame rate (instead of just 30).
local TARGET_FRAMERATE = 30
while true do
game:GetService("RunService").RenderStepped:Wait()
local t0 = tick()
game:GetService("RunService").Heartbeat:Wait()
repeat until t0 + 1/TARGET_FRAMERATE < tick()
end
If you are doing this in Roblox Studio, you can also use my Render Settings plugin, which has a slider to simulate 6 to 60 FPS.
You may also take a significant performance hit with a hyper-visor running on top of Windows or OS X, and won’t be controllable like the RenderStepped solution stated above.