Please have maximum fps based on refresh rate

I’ve had a 144hz monitor for a while now and playing roblox on 60fps because it’s locked at that feels incredibly sluggish, and I’m asking you please make the maximum fps based on the user’s maximum refresh rate, or atleast include an option for this

7 Likes

60fps is the current standard and is fine and isn’t really sluggish at all. I would go on a whim and say that not many users even have 144hz monitors.

There’s also considering the fact that it can cause unexpected behavior. RenderStepped is tied to the framerate and code under RenderStepped runs under the assumption of 60fps. Anything higher could cause issues.

5 Likes

No offense, but since we can’t actually optimize for a single game, and all the different devices that we support this days I don’t think that we shouldn’t make it any more complex by adding that kind of support.

Like @sparker22 already mentioned, it will be quite an undertaking to support something for a really low percentage of users.

You will notice a very significant difference after using a 144hz monitor.

No the standard is user-choice

3 Likes

If you are doing that then you are doing it wrong. I don’t think there’s a single mobile device that runs more than 30 FPS, 30Hz monitors still exist (along with some other weird ones), and FPS can vary greatly. If you’re actually using delta time then a FPS upgrade won’t affect your gameplay at all, if you aren’t using delta time then that’s it’s own problem and it shouldn’t hold back upgrades to the engine.

7 Likes

Yes pretty much this. RenderStepped returns the delta time for a reason.

1 Like

We don’t know how well the game engine will run at higher FPS.

If it doesn’t run well then that’s a design problem that needs to be addressed.

1 Like

Roblox used to run at 30 FPS

Perhaps but I’d say it is nowhere close to a priority ATM. The adoption rate for 144Hz monitors is low even in the pc gaming crowd, never mind for the casual crowd such as Roblox.

If it’s an easy fix, maybe one of the engineers will chime in here and say so, but I suspect it’s a lot harder than we think. If thats the case there are a 101 things I’d rather see before 144Hz Roblox. And I have a 144Hz monitor.

1 Like

You’re right about 120/144/240hz monitors being a minority, but even for 60hz monitors, for example 200fps can make a big difference. If you play fast paced shooters on a 60hz monitor with 200+ fps it’s noticeably smoother because the drawn frame is much more fresh-er (gpu and monitor drawing are not synchronized), and if you have a fast paced shooter in roblox it can give you that very small added benefit. In games such as CS:GO this is very popular

I’m a bit sceptical about this feature request because you don’t know what the effect of a higher FPS would be. You claim it will be a smoother experience, but if the engine is already fleshed out in a way that the frame itself is generated closely towards the rendering moment then this does not matter in the first place.

Furthermore, I don’t think there is a majority on ROBLOX, be it users or developers, that actually care that much about a frame being shown maximally 16ms after it was generated.

This is not possible because the graphics card is NOT in sync with the monitor.

don’t they literally have a constant for frame rate clamping? if so, can’t they basically do (pseudo-code, idk how it works):

const int MAX_FPS = Monitor::GetRefreshRate();

That’s exactly what VSync does…

1 Like

There isn’t a purpose in 144 FPS for FPS games on roblox because the humanoids locations are interpolated and the ping rates are >100ms past 4 players.

1 Like

The standard is 60fps. As in this is perceived as the ideal framerate that should be achieved for games for an optimal experience by the industry. [quote=“Sharksie, post:5, topic:20852”]
If you are doing that then you are doing it wrong. I don’t think there’s a single mobile device that runs more than 30 FPS, 30Hz monitors still exist (along with some other weird ones), and FPS can vary greatly. If you’re actually using delta time then a FPS upgrade won’t affect your gameplay at all, if you aren’t using delta time then that’s it’s own problem and it shouldn’t hold back upgrades to the engine.
[/quote]
Delta time is a relatively new update isn’t it? Within this year? So code prior to that never had delta time and it MAY cause issues with older games. I agree that the engine should keep evolving, but ROBLOX does have a big concern for legacy support. Its also worth noting that many developers simply don’t care for mobile. Many are built for just PC in mind along with those that existed for mobile development wasn’t even a thing. FPS even on PC varies, yes but we can ensure that the code will always try to reach 60 times/s since thats the target goal for fps. Increasing it to 144 times/s would increase the code workload by over 2x when 60 times/s was plenty so it causes unnecessary workload.

tl;dr:

  1. Is it worth implementing? (minority issue)
  2. Unnecessary workload (up to over 2x increase)
  3. Could cause issues for older games before delta time.

“It can increase the workload”
Only for that person – RenderStepped is clientside. It’d be no worse than picking up an older computer with worse hardware to play a game. If someone’s performance would suffer because they wanted to run their window at 144 Hz, that’s their choice. Not that they’d do that though, because the entire point of raising it to 144 Hz is for smoother gameplay. An increased workload really isn’t an issue.

2 Likes

I know renderstepped is client-side, but its still unnecessary workload. If I am going to be supporting fps > 60 then I want an optimal experience for everybody. If my code doesn’t need to be ran/smoother than 60/s then I don’t want to increase the workload. If >60fps is going to be implemented then developers should have the tools to properly support them.

EDIT: Also what about physics? Is that tied to fps? (hence speedhacking) This could also be an issue.

Delta time isn’t an update. Anyone with access to a timestamp can calculate it. It’s literally subtracting one timestamp from another, the delta of the timestamps. Anyone who wasn’t already doing that before it was added as an argument to RenderStepped was writing bad code. Roblox shouldn’t go out of its way to support bad code.

4 Likes