1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

FPS Limiter for Vulkan, OpenGL, DirectX 9, DirectX 10, DirectX 11 and DirectX 12

Discussion in 'Game Tweaks and Modifications' started by niftucal, Sep 6, 2018.

  1. niftucal

    niftucal New Member

    Messages:
    9
    Likes Received:
    6
    GPU:
    RX 580
    Hi everyone.

    I created a framerate control tool with support for most common APIs. The fine folks at ReShade recommended I posted it here so there you go. :)

    Details are available at my blog: https://niftucal.blogspot.com
    Kind regards
     
    Last edited: Sep 6, 2018
    Wagnard, AsiJu and BetA like this.
  2. BetA

    BetA Ancient Guru

    Messages:
    4,036
    Likes Received:
    51
    GPU:
    MSI GTX670 PEOC@1350Mhz
    you should post more infos and the features also :`)

     
    niftucal likes this.
  3. RealNC

    RealNC Ancient Guru

    Messages:
    2,228
    Likes Received:
    524
    GPU:
    EVGA GTX 980 Ti FTW
    Thanks!

    Is source code for this available? I was looking for a simple frame limiter with source available I can experiment with.

    Right now RTSS is the best and simplest to use FPS limiter out there, but unfortunately it doesn't provide sources for us to tinker with.
     
    Last edited: Sep 7, 2018
  4. niftucal

    niftucal New Member

    Messages:
    9
    Likes Received:
    6
    GPU:
    RX 580
    I usually avoid duplicating information in several places, but in this case that helps, thanks. If you have further suggestions feel free to leave feedback and I'll try to make the improvements.
     

  5. niftucal

    niftucal New Member

    Messages:
    9
    Likes Received:
    6
    GPU:
    RX 580
    I could create an installer to make it easier for non-technical users, but I don't see how it could be much simpler than this. Currently it's not open-source but there are plenty of projects that use similar techniques with source code available (e.g. ReShade). Search GitHub for "injector" for example.
     
  6. RealNC

    RealNC Ancient Guru

    Messages:
    2,228
    Likes Received:
    524
    GPU:
    EVGA GTX 980 Ti FTW
    I was just hoping for something simple to experiment with. Just a frame limiter, nothing else, without the rest of the functionality you find in ReShade and friends. It wouldn't even have to be open source. Just have source code available.
     
  7. niftucal

    niftucal New Member

    Messages:
    9
    Likes Received:
    6
    GPU:
    RX 580
    I don't release source code for my mods since they could be easily modified to create cheats (e.g. see my Dragon Age Inquisition mod), but I may consider making this tool open-source in the future if there's interest from the community. Publishing source code makes it public domain and making it available to others is similar without a NDA.

    Right now the code doesn't have comments and functionality is (intentionally) bare-bones since it's supposed to do one thing and do it well. You wouldn't be able to improve existing features because it's extremely optimized (from design/algorithms to compiler options), and if you wanted to use interesting things like overlays and shaders you would need to add a lot of stuff and it would become more like other injectors. ReShade is one of the most sophisticated ones but there are many simpler ones. Older versions of ReShade are also much smaller. You would likely learn much more from them.
     
    Last edited: Sep 8, 2018
  8. Wagnard

    Wagnard Ancient Guru

    Messages:
    2,482
    Likes Received:
    88
    GPU:
    MSI Geforce GTX 1080
    Hey man, nice work with this.
    A few things I have observed.
    1- This fixed the mega stuttering I was having with Battlefield 4 (even with GSYNC). It is fixed even when limitting the FPS way higher than what I can achieve. I'm really curious on this one are you injecting something in particular that could change the game timer or something like that?

    2-Sometimes, even when I exit your framelimiter, it will still be active. What I mean is I quit my game, exit the framelimiter (process not there anymore) and then restart the game and it is still limited to the fps and I can even control it. A workaround is I must logout of my windows session and sign in again. sometimes the game will be locked at 60 FPS too.

    If you don't make the source code available, I'm a bit curious exactly on how the thing work. I know you are injecting a Dll but I'm curious of what is done after that.
     
    Last edited: Sep 19, 2018 at 7:03 PM
    BetA likes this.
  9. niftucal

    niftucal New Member

    Messages:
    9
    Likes Received:
    6
    GPU:
    RX 580
    Hi.

    I like your tools, and even recommended using them in conjunction with this. It's in the GeForce forums but you'll have to search for the thread.

    There are many ways to inject code into games. For example check out https://github.com/DarthTon/Xenos
    From then it's a matter of modifying the rendering API like ReShade does. Additionally I use techniques that are as compatible as possible with security software/restrictions, which involved a lot more work than the obvious solutions. This requires a lot of technical knowledge but I'm familiar with it because of my mods for games like Dragon Age series.

    If the game limiter is still active when you close the FPS Limiter window that means the dll component couldn't be unloaded from the game process for some reason. It's probably related to other tools that you're using which are also loaded into the game process (usually overlays or overclocking tools). In the ideal case if you want perfect behavior you'll have to use only base game + FPS Limiter, otherwise just wait for the games to finish before closing the limiter window (and obviously don't terminate the process directly).

    Regarding Frostbite the engine tries to make full use of all cores which can be a double-edged sword. Good FPS limiters can avoid stutter problems in these cases even when the limit is set very high, but now the post is getting too long to explain all details... :)
     
    Wagnard and BetA like this.
  10. AsiJu

    AsiJu Ancient Guru

    Messages:
    5,082
    Likes Received:
    766
    GPU:
    EVGA GTX 980 Ti SC+
    Downloaded, will test it once I have some time.

    Hotkey limit adjustment sounds very convenient! Thanks!

    Btw does the limit always change in 1 fps steps or can this be defined in the .ini?
    As decimal steps would be useful.
     

  11. niftucal

    niftucal New Member

    Messages:
    9
    Likes Received:
    6
    GPU:
    RX 580
    You're welcome. I actually considered it before and could make the changes, but it seems more useful in theory than it is in practice. Having an accurate stable interval between frames is important but the exact FPS isn't. You can confirm this yourself by testing different values using the Control+Page Up/Down keys. If more people still think it's useful they're welcome to leave their feedback of course. Note that different games may have different limits when running at the same time though.
     
    AsiJu likes this.

Share This Page