Author Topic: Can I change limit frames per second?  (Read 2318 times)

0 Members and 1 Guest are viewing this topic.

Can I change limit frames per second?
It seems "limit frames-per-second is set at 120FPS, I don't like Vsync because it causes a huge input lag, I rather just use limit FPS but changing it in my AMD panel doesn't work, since the launcher has one built it that should work to but can I change it somehow? Seems weird to include a FPS limit but no way of changing the value.

 
Re: Can I change limit frames per second?
First, Vsync should not cause huge input lag. What kind of fps limit do you want? Less or more than 120?

 

Offline The E

  • He's Ebeneezer Goode
  • Moderator
  • 213
  • Nothing personal, just tech support.
    • Steam
    • Twitter
Re: Can I change limit frames per second?
The engine is hard capped to 120 fps. There is a commandline flag to remove that limit, but it's for developer use only; we cannot guarantee that physics and gameplay logic actually work correctly when it is set.
If I'm just aching this can't go on
I came from chasing dreams to feel alone
There must be changes, miss to feel strong
I really need lifе to touch me
--Evergrey, Where August Mourns

 
Re: Can I change limit frames per second?
I want to cap it less than 120fps, my monitor is a 60hz so I only need 60fps.

And what you mean Vsync should not cause a huge input lag? You've got to be joking with that statement... It CAUSE input lag, it's why people hate it and why g-sync and freesync exists, sadly I don't have a freesync monitor.

 

Offline deathspeed

  • 29
  • i can't think of a good avatar
    • Steam
Re: Can I change limit frames per second?
EVGA Precision X allows you to set a framerate cap, and I think MSI Afterburner and other overclocking utilities do this as well.
Maybe someday God will give you a little pink toaster of your own.

 

Offline The E

  • He's Ebeneezer Goode
  • Moderator
  • 213
  • Nothing personal, just tech support.
    • Steam
    • Twitter
Re: Can I change limit frames per second?
I want to cap it less than 120fps, my monitor is a 60hz so I only need 60fps.

Such a flag does not exist.
If I'm just aching this can't go on
I came from chasing dreams to feel alone
There must be changes, miss to feel strong
I really need lifе to touch me
--Evergrey, Where August Mourns

 

Offline niffiwan

  • 211
  • Eluder Class
Re: Can I change limit frames per second?
FSO limits itself to 60 fps by default, as long as you don't select "Don't limit frames-per-second" in the launcher.

Ignore me, I haven't had enough coffee yet this morning...
Creating a fs2_open.log | Red Alert Bug = Hex Edit | MediaVPs 2014: Bigger HUD gauges | 32bit libs for 64bit Ubuntu
----
Debian Packages (testing/unstable): Freespace2 | wxLauncher
----
m|m: I think I'm suffering from Stockholm syndrome. Bmpman is starting to make sense and it's actually written reasonably well...

 

Offline AdmiralRalwood

  • 211
  • The Cthulhu programmer himself!
    • Skype
    • Steam
    • Twitter
Re: Can I change limit frames per second?
I want to cap it less than 120fps, my monitor is a 60hz so I only need 60fps.

And what you mean Vsync should not cause a huge input lag? You've got to be joking with that statement... It CAUSE input lag, it's why people hate it and why g-sync and freesync exists, sadly I don't have a freesync monitor.
It shouldn't cause input lay any more than your monitor's refresh rate already does. Make sure you don't have triple-buffering or similar turned on in your driver's control panel.
Ph'nglui mglw'nafh Codethulhu GitHub wgah'nagl fhtagn.

schrödinbug (noun) - a bug that manifests itself in running software after a programmer notices that the code should never have worked in the first place.

When you gaze long into BMPMAN, BMPMAN also gazes into you.

"I am one of the best FREDders on Earth" -General Battuta

<Aesaar> literary criticism is vladimir putin

<MageKing17> "There's probably a reason the code is the way it is" is a very dangerous line of thought. :P
<MageKing17> Because the "reason" often turns out to be "nobody noticed it was wrong".
(the very next day)
<MageKing17> this ****ing code did it to me again
<MageKing17> "That doesn't really make sense to me, but I'll assume it was being done for a reason."
<MageKing17> **** ME
<MageKing17> THE REASON IS PEOPLE ARE STUPID
<MageKing17> ESPECIALLY ME

<MageKing17> God damn, I do not understand how this is breaking.
<MageKing17> Everything points to "this should work fine", and yet it's clearly not working.
<MjnMixael> 2 hours later... "God damn, how did this ever work at all?!"
(...)
<MageKing17> so
<MageKing17> more than two hours
<MageKing17> but once again we have reached the inevitable conclusion
<MageKing17> How did this code ever work in the first place!?

<@The_E> Welcome to OpenGL, where standards compliance is optional, and error reporting inconsistent

<MageKing17> It was all working perfectly until I actually tried it on an actual mission.

<IronWorks> I am useful for FSO stuff again. This is a red-letter day!
* z64555 erases "Thursday" and rewrites it in red ink

<MageKing17> TIL the entire homing code is held up by shoestrings and duct tape, basically.

 

Offline Mongoose

  • Rikki-Tikki-Tavi
  • Global Moderator
  • 212
  • This brain for rent.
    • Minecraft
    • Steam
    • Something
Re: Can I change limit frames per second?
The engine is hard capped to 120 fps. There is a commandline flag to remove that limit, but it's for developer use only; we cannot guarantee that physics and gameplay logic actually work correctly when it is set.
My 144 Hz display weeps. :(

(i kid)

 
Re: Can I change limit frames per second?
Here's how I have managed to limit Freespace Open to 30 FPS on Windows 7.

Open regedit and go to HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Volition\FreeSpace2

There should be a DWORD (32-bit) value called MaxFPS. If not, you have to create it.

Then set the value to 30 or whatever you want (tip: when setting the value make sure that the base is decimal unless you're a seasoned registry hacker and think in hex)

 

Offline The E

  • He's Ebeneezer Goode
  • Moderator
  • 213
  • Nothing personal, just tech support.
    • Steam
    • Twitter
Re: Can I change limit frames per second?
I hope you realize that you've now introduced a bunch of that input lag the original poster wanted to avoid.
If I'm just aching this can't go on
I came from chasing dreams to feel alone
There must be changes, miss to feel strong
I really need lifе to touch me
--Evergrey, Where August Mourns

 

Offline jr2

  • The Mail Man
  • 212
  • It's prounounced jayartoo 0x6A7232
    • Steam
Re: Can I change limit frames per second?
Question:

Why is input latency tied to display frequency?  :confused:  What was :v: thinking? (honest question)

I would think they'd be kept separate.  That sounds like a mess.

Although I think I remember hearing that some HUD elements (missile lock-on) were tied to display, and that kind of almost makes sense.  But why input?

 

Offline AdmiralRalwood

  • 211
  • The Cthulhu programmer himself!
    • Skype
    • Steam
    • Twitter
Re: Can I change limit frames per second?
...Because multi-threading did not exist at the time. How exactly do you avoid tying input latency to framerate if you only have one thread?
Ph'nglui mglw'nafh Codethulhu GitHub wgah'nagl fhtagn.

schrödinbug (noun) - a bug that manifests itself in running software after a programmer notices that the code should never have worked in the first place.

When you gaze long into BMPMAN, BMPMAN also gazes into you.

"I am one of the best FREDders on Earth" -General Battuta

<Aesaar> literary criticism is vladimir putin

<MageKing17> "There's probably a reason the code is the way it is" is a very dangerous line of thought. :P
<MageKing17> Because the "reason" often turns out to be "nobody noticed it was wrong".
(the very next day)
<MageKing17> this ****ing code did it to me again
<MageKing17> "That doesn't really make sense to me, but I'll assume it was being done for a reason."
<MageKing17> **** ME
<MageKing17> THE REASON IS PEOPLE ARE STUPID
<MageKing17> ESPECIALLY ME

<MageKing17> God damn, I do not understand how this is breaking.
<MageKing17> Everything points to "this should work fine", and yet it's clearly not working.
<MjnMixael> 2 hours later... "God damn, how did this ever work at all?!"
(...)
<MageKing17> so
<MageKing17> more than two hours
<MageKing17> but once again we have reached the inevitable conclusion
<MageKing17> How did this code ever work in the first place!?

<@The_E> Welcome to OpenGL, where standards compliance is optional, and error reporting inconsistent

<MageKing17> It was all working perfectly until I actually tried it on an actual mission.

<IronWorks> I am useful for FSO stuff again. This is a red-letter day!
* z64555 erases "Thursday" and rewrites it in red ink

<MageKing17> TIL the entire homing code is held up by shoestrings and duct tape, basically.

 

Offline zookeeper

  • *knock knock* Who's there? Poe. Poe who?
  • 210
Re: Can I change limit frames per second?
...Because multi-threading did not exist at the time. How exactly do you avoid tying input latency to framerate if you only have one thread?

Well, you could always do a frame early if input arrives between frames (I don't know how high the base framerate would need to be for that to be imperceptible). Or, I guess you could take the input as it comes in, and when you actually handle the input next turn, take the delay into account (for example when determining when the ship started to move, when a weapon was fired, etc), in which case there'd only be visual latency. Of course that still assumes that you don't need to actively poll for input, and... I guess that's possible without multithreading? I don't know much about low-level IO, really.

Obviously not saying that's a reasonable requirement for a game or anything.

 

Offline niffiwan

  • 211
  • Eluder Class
Re: Can I change limit frames per second?
I think it's possible for input to be received as interrupts, at least that's what I remember from doing some embedded systems work at uni many years ago.  I'm pretty sure the old-school keyboard handling was done via hardware interrupts. Not sure how that ends up being presented to the layer that FSO works at, i.e. through the OS and output from SDL. Anyway, if it was presented as an interrupt from SDL then perhaps an interrupt handler could be setup when FSO sleeps to implement the framerate limit. Said interrupt handler would probably just record the input, which is then processed when the next frame is processed, maybe with some sort of adjustment for the actual time that the input was received.

Anyway, leaving theory aside, (and this is a genuine question) what are the observable symptoms of input latency? I mean, at 60 fps I'm pretty sure I can't tell the difference if my input (keypresses, moving the joystick, etc) are delayed by up to 16.67 msecs. Or am I missing something?
Creating a fs2_open.log | Red Alert Bug = Hex Edit | MediaVPs 2014: Bigger HUD gauges | 32bit libs for 64bit Ubuntu
----
Debian Packages (testing/unstable): Freespace2 | wxLauncher
----
m|m: I think I'm suffering from Stockholm syndrome. Bmpman is starting to make sense and it's actually written reasonably well...

  
Re: Can I change limit frames per second?
Anyway, leaving theory aside, (and this is a genuine question) what are the observable symptoms of input latency? I mean, at 60 fps I'm pretty sure I can't tell the difference if my input (keypresses, moving the joystick, etc) are delayed by up to 16.67 msecs. Or am I missing something?

By input latency I think most people mean the time between an input (pressing a button, moving the mouse) and stuff happening on the screen (weapon firing).  But what if you have a slow monitor that spends 32ms processing the image before displaying it? Then even if the time that it takes for an input to reach the game's input handling code was 0, you would still have 32ms worth of "input lag". In that case it might be better described as display lag because that's where the latency is. But this is arguing semantics.

Sensitivity to input lag varies among people. For me the most obvious sign is sluggish or delayed response to mouse movement although this is harder to notice in FS2 than in First Person Shooters for example because the ships have a limited turn speed (which also varies on a ship by ship basis).