FPS Limiter for Vulkan, OpenGL, DirectX 9 - 12

  • Posts: 23
1 year 7 months ago #1 by niftucal
Hi fellow graphics enthusiasts!

I created a framerate control tool with support for most common APIs. It was initially planned as a plugin for ReShade but I ended up creating a stand-alone loader since currently ReShade doesn't allow to load 3rd-party DLLs (I just wanted to use it for injection). Details are available at my blog:

https://niftucal.blogspot.com

Feel free to leave your feedback (e.g. suggestions, compatibility information).
Kind regards
The following user(s) said Thank You: Plyply, acknowledge, andrew, Matt Gore, player

Please Log in or Create an account to join the conversation.

  • Posts: 526
1 year 7 months ago #2 by lowenz

niftucal wrote: Hi fellow graphics enthusiasts!

I created a framerate control tool with support for most common APIs. It was initially planned as a plugin for ReShade but I ended up creating a stand-alone loader since currently ReShade doesn't allow to load 3rd-party DLLs (I just wanted to use it for injection). Details are available at my blog:

https://niftucal.blogspot.com

Feel free to leave your feedback (e.g. suggestions, compatibility information).
Kind regards

Thanks man!

Perfect for Windowed Fullscreen Mode!
The following user(s) said Thank You: niftucal

Please Log in or Create an account to join the conversation.

  • Posts: 23
1 year 7 months ago #3 by niftucal
You're welcome.

In case someone wants to use it as a plugin for ReShade (sort-of): add an import entry for 'fpslimiter64.dll' to the ReShade dll and copy the dll to the same folder. Then the limiter will get attached to the game and the exe loader isn't necessary. Default FPS will be 60 but can be adjusted with the keyboard as usual. If they create a plugin SDK later I'll see what can be improved. Obviously the ReShade setting to display FPS will be useful.

Please Log in or Create an account to join the conversation.

  • Posts: 20
1 year 7 months ago #4 by Matt Gore
Tested Hellblade and it worked fine, except that pressing Control + Up/Down arrow does nothing.
Also, is it possible to get a version for 32 bit games?

Please Log in or Create an account to join the conversation.

  • Posts: 23
1 year 7 months ago - 1 year 6 months ago #5 by niftucal
Edit: Hellblade issue has been fixed.

Sure, I can compile a version for 32-bit. I was just waiting for more feedback so I could apply all changes in one go. I mostly didn't create it yet since I have no clue what kind of real interest there is in something like this.
The following user(s) said Thank You: Matt Gore

Please Log in or Create an account to join the conversation.

  • Posts: 123
1 year 7 months ago #6 by Chavolatra
you can make a request in the reshade github or wait here the crosire to pronounce on it there.

Please Log in or Create an account to join the conversation.

  • Posts: 433
1 year 7 months ago #7 by Martigen

niftucal wrote: You're welcome.

In case someone wants to use it as a plugin for ReShade (sort-of): add an import entry for 'fpslimiter64.dll' to the ReShade dll and copy the dll to the same folder. Then the limiter will get attached to the game and the exe loader isn't necessary. Default FPS will be 60 but can be adjusted with the keyboard as usual. If they create a plugin SDK later I'll see what can be improved. Obviously the ReShade setting to display FPS will be useful.

Do you mean you can't use the config file to set the limit if chain-loading the DLL with Reshade?

Also, you should post this to the Guru3D forums, they will love you :)
The following user(s) said Thank You: niftucal

Please Log in or Create an account to join the conversation.

  • Posts: 23
1 year 7 months ago #8 by niftucal
That's right. The cfg file is currently only read once in the loader since it's slightly more efficient to only read the file once. I could make the modifications but since it's possible to adjust with the keyboard I didn't consider it important. Ideally a plugin SDK would allow to enable/disable plugins and configure settings like the FPS limit from ReShade's UI, but this seems too much work for just this and there are probably other priorities.

I may post it to Guru3D later. For now I'll release a new version with better compatibility and 32-bit support since other people requested it. Thanks for the suggestion.

Please Log in or Create an account to join the conversation.

  • Posts: 23
1 year 7 months ago - 1 year 3 months ago #9 by niftucal
I uploaded a new version with improvements and 32-bit games support. In addition to the documented changes it now loads a local cfg file if the loader isn't detected. Full instructions for those that want to use ReShade instead of the loader exe (may help compatibility with some games):
- Download the modified ReShade from here or modify it yourself.
- Copy the ReShade dll to the game folder and rename/overwrite as appropriate.
- Copy 'fpslimiter.cfg', 'fpslimiter32.dll' and 'fpslimiter64.dll' to the game folder (don't rename).
- Edit cfg file and/or use keyboard shortcuts to adjust as usual.

Please Log in or Create an account to join the conversation.

  • Posts: 433
1 year 7 months ago #10 by Martigen
(sorry haven't tried yet, no free time)

Will it load fine -- with Reshde alongside -- if you use load it by renaming to dinput8.dll? (or whatever the d3d input hooking dll is called)

This way may not need to chain load.

Please Log in or Create an account to join the conversation.

  • Posts: 526
1 year 7 months ago #11 by lowenz
Page not found
We're sorry, but we were unable to locate the page you requested.

Please Log in or Create an account to join the conversation.

  • Posts: 526
1 year 7 months ago #12 by lowenz
Now the download is working again, thanks ;)

Please Log in or Create an account to join the conversation.

  • Posts: 23
1 year 7 months ago #13 by niftucal
I was doing a quick update since I noticed some benchmarks used APIs in strange ways and uploaded a new version so people wouldn't report outdated problems.

Please Log in or Create an account to join the conversation.

  • Posts: 23
1 year 7 months ago #14 by niftucal

Martigen wrote: Will it load fine -- with Reshde alongside -- if you use load it by renaming to dinput8.dll? (or whatever the d3d input hooking dll is called)

One advantage of using ReShade is it adds indirect support for DirectX 8 games. I'm not sure how using names of system files could interfere with other things and if the dll may be loaded too late into the game process, but with respect to the limiter as long as you take care of the loading you can rename the dll to whatever you want. Exact names are only important when using the exe loader since the components need to reference each other. The design is pretty flexible.

Please Log in or Create an account to join the conversation.

  • Posts: 526
1 year 7 months ago #15 by lowenz
OR you can join Dege and dgVoodoo 2 development (actually we need to revise the dgVoodoo 2 internal FPS limiter now acting as virtual vsync) !
If you're interested: www.vogons.org/viewforum.php?f=59

Please Log in or Create an account to join the conversation.

  • Posts: 23
1 year 6 months ago - 1 year 6 months ago #16 by niftucal
Although I still play old games that's too retro for me. :)
I didn't test but using the loader should be compatible. It's also possible to add the limiter to custom applications by simply loading the dll at the right time, and since the dll is already so small and efficient modifying the source code of the application to achieve the same wouldn't be much of an advantage (e.g. if the application only uses DirectX 11 only the resources for DirectX 11 are loaded/activated). If someone wants to integrate it into their project and is concerned about the licensing they can just send me a message with the details (I allow free use in open-source projects).

Please Log in or Create an account to join the conversation.

  • Posts: 23
1 year 3 months ago #17 by niftucal
I updated the link to modified ReShade v3 and added a link to v4, since a few people asked for it. Since it doesn't let me paste the url here just replace v3 with v4 in the previous link.
I'll try to keep it reasonably up to date. As usual thanks to all who provided useful feedback.
The following user(s) said Thank You: player

Please Log in or Create an account to join the conversation.

  • Posts: 433
1 year 3 months ago #18 by Martigen
Have you posted this to Guru3D yet? :) You'll be swamped with testers and responses.

Not to mention, get your tool out there to the core audience.

Please Log in or Create an account to join the conversation.

  • Posts: 23
1 year 3 months ago - 1 year 3 months ago #19 by niftucal

Martigen wrote: Have you posted this to Guru3D yet? :) You'll be swamped with testers and responses.

I did and the people requesting an updated ReShade were from there, but it's actually a pretty quiet forum. There's also a new thread at BlurBusters and I think that's enough since I wouldn't want to spread the discussion and make it hard to keep track of updates. In any case this is my official thread for the ReShade version and anything related, which is why I wanted to update the links here.

It also seems some sites have problems with the new ReShade files due to false positives.

Please Log in or Create an account to join the conversation.

  • Posts: 433
1 year 3 months ago #20 by Martigen
What do you mean by 'Reshade version'? The link above for 1.11, what are the other versions, what do they do, where are they? Just curious.

Please Log in or Create an account to join the conversation.