FPS Limiter for Vulkan, OpenGL, DirectX 9 - 12

  • niftucal
  • Topic Author
More
5 years 4 months ago - 5 years 4 months ago #21 by niftucal Replied by niftucal on topic FPS Limiter for Vulkan, OpenGL, DirectX 9 - 12
The ReShade version is just a modified ReShade that automatically loads the dll so the exe loader isn't necessary. Some people prefer it since they don't like to have apps monitoring for games. It's also an alternative way to activate the tool for people who have problems getting the loader working because they have an active app blocking it. Details are available at post #29554 .
Last edit: 5 years 4 months ago by niftucal.

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

  • niftucal
  • Topic Author
More
5 years 3 months ago #22 by niftucal Replied by niftucal on topic FPS Limiter for Vulkan, OpenGL, DirectX 9 - 12
Hi everyone. I created a new tool which includes a lot of improvements and new features. Feel free to take a look at the main blog page and give it a try. Some of the improvements will also be transferred to FPS Limiter. In my opinion it's a perfect companion app to ReShade. Just avoid having both overlays active at the same time.

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

  • lowenz
More
5 years 3 months ago #23 by lowenz Replied by lowenz on topic FPS Limiter for Vulkan, OpenGL, DirectX 9 - 12

niftucal wrote: Hi everyone. I created a new tool which includes a lot of improvements and new features. Feel free to take a look at the main blog page and give it a try. Some of the improvements will also be transferred to FPS Limiter. In my opinion it's a perfect companion app to ReShade. Just avoid having both overlays active at the same time.

Can you collaborate with Unwinder to RTSS?

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

  • niftucal
  • Topic Author
More
5 years 3 months ago - 5 years 3 months ago #24 by niftucal Replied by niftucal on topic FPS Limiter for Vulkan, OpenGL, DirectX 9 - 12
I actually don't have a lot of experience with RTSS since I usually use secure systems where those tools don't work, but it seems they have completely different designs. For me it made more sense to make it a plugin for ReShade but when I proposed it nobody showed interest, so I created it from scratch. In any case I'm always open to partners and collaboration.
Last edit: 5 years 3 months ago by niftucal.

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

  • thalixte
More
5 years 3 months ago #25 by thalixte Replied by thalixte on topic FPS Limiter for Vulkan, OpenGL, DirectX 9 - 12

niftucal wrote: I actually don't have a lot of experience with RTSS since I usually use secure systems where those tools don't work, but it seems they have completely different designs. For me it made more sense to make it a plugin for ReShade but when I proposed it nobody showed interest, so I created it from scratch. In any case I'm always open to partners and collaboration.


This is interesting, but could you explain us what is the main difference between your framerate limiter and the one provided by RTSS, or the one provided by SpecialK ?

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

  • niftucal
  • Topic Author
More
5 years 3 months ago - 5 years 3 months ago #26 by niftucal Replied by niftucal on topic FPS Limiter for Vulkan, OpenGL, DirectX 9 - 12
I don't know details of how other products work, but in general all limiters will provide similar results. Many users claimed this one provided smoother gameplay (you can see some reports in the GeForce forum and other threads), but I mostly used game engine limiters before and never noticed much difference. I also tried to optimize it as much as possible, even verifying the generated assembly code, to make sure timing is as stable as possible. That by itself shouldn't result in a significant difference for players, but it means it would be very hard to improve in terms of performance and frame consistency.

Some other obvious advantages of this one is that it's very lightweight and flexible. For example as a programmer you can load the dll into any custom application, attach it to ReShade, etc.
Last edit: 5 years 3 months ago by niftucal.

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

  • Martigen
More
5 years 2 months ago - 5 years 2 months ago #27 by Martigen Replied by Martigen on topic FPS Limiter for Vulkan, OpenGL, DirectX 9 - 12
Hey niftucal.
Finally got around to spending some time with this. Currently experimenting with 1.04.

Seems to work well in the few games I've tried, except Natural Selection 2 where it doesn't work at all. However RTSS had problems with this game too (it wouldn't start at all if it was running, from memory).

There's an easily repeatable bug: closing gameforce also closes other apps it has hooked. Eg. if Firefox is running, and you load and then later close gameforce 64-bit, Firefox closes (crashes? not sure). Same for the Steam client and the 32-bit version of gameforce.

Some requests:
  • An option to load when Windows loads, and minimise to tray
  • An editable blacklist (so eg I can blacklist Natural Selection 2, without having to quit the app then. Or perhaps Firefox, Steam if the above bug can't be fixed)
Finally, an observation. The tool appears to be forcing exclusive fullscreen mode for games in fullscreen. This is GREAT and FANTASTIC! Don't ever change this :)

By way of example, bear with me: Deep Rock Galactic currently has a bug whereby even if you've selected Fullscreen (which is supposed to be exclusive), this isn't being applied properly on first load. This is evidenced by selecting Fullscreen Windowed, then Fullscreen again in-game, whereby the screen blanks as it changes modes. Additionally -- and this is how I found out about it with the new Nvidia drivers -- Gsync compatible then kicks in for the Freesync monitor. Gsync requires Exclusive Fullscreen.

However, starting DRG with gameforce active the game starts in Fullscreen with Gsync active, meaning it's in Exclusive Fullscreen mode to begin with. And indeed, selecting Fullscreen Windowed then causes the screen to blank as it changes, as it switches out of this mode.

This is brilliant because many games, especially Unity ones, don't properly enforce Exclusive Fullscreen. And Exclusive is required for:
  • SLI
  • DSR
  • Gsync/VRR
  • And (I think) VR
So, very happy with this. Will experiment more games to make sure this is what is actually happening, but if so this is a godsend!
Last edit: 5 years 2 months ago by Martigen.
The following user(s) said Thank You: niftucal

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

  • niftucal
  • Topic Author
More
5 years 2 months ago - 5 years 2 months ago #28 by niftucal Replied by niftucal on topic FPS Limiter for Vulkan, OpenGL, DirectX 9 - 12
Hi Martigen.
Thanks for the information. I also performed tests with the latest version of ReShade and all games looked good, so it seems fully compatible. Unloading this type of tool dynamically with GUI processes still active can cause those types of problems. edit: The latest version added an option to auto-minimize the app and fixes the GUI process termination issue.

As for the fullscreen mode, it doesn't modify any of the game/app's rendering settings directly, though it would be easy to do. It seems a side-effect of something else, maybe related with GeForce Experience. In any case helpful feedback will result in a better tool.
Last edit: 5 years 2 months ago by niftucal. Reason: update

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

  • thalixte
More
5 years 2 months ago #29 by thalixte Replied by thalixte on topic FPS Limiter for Vulkan, OpenGL, DirectX 9 - 12

niftucal wrote: I don't know details of how other products work, but in general all limiters will provide similar results. Many users claimed this one provided smoother gameplay (you can see some reports in the GeForce forum and other threads), but I mostly used game engine limiters before and never noticed much difference. I also tried to optimize it as much as possible, even verifying the generated assembly code, to make sure timing is as stable as possible. That by itself shouldn't result in a significant difference for players, but it means it would be very hard to improve in terms of performance and frame consistency.

Some other obvious advantages of this one is that it's very lightweight and flexible. For example as a programmer you can load the dll into any custom application, attach it to ReShade, etc.


Thks for your answer. Will give it a try i soon as i can.

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

  • niftucal
  • Topic Author
More
5 years 2 months ago #30 by niftucal Replied by niftucal on topic FPS Limiter for Vulkan, OpenGL, DirectX 9 - 12

Convaallaria wrote: Thank you very much for the information.

thalixte wrote: Thks for your answer. Will give it a try i soon as i can.

You're both welcome. :)

Martigen,
I created a quick update based on your feedback. It fixes the GUI process termination problem, but I'll probably tweak that later. There's also an option to auto-minimize the app. I may create an installer with more options later, but the core should remain zero-modification by design, since it's useful for many people (e.g. locked down systems like university computers and cyber cafes). If you have suggestions like the full-screen exclusive mode feel free to send them. In fact the plan for the tool was to create a community-driven control panel for settings inside games, hence the name/abbreviation "in-Game GeForce".

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

  • Martigen
More
5 years 2 months ago #31 by Martigen Replied by Martigen on topic FPS Limiter for Vulkan, OpenGL, DirectX 9 - 12
Thanks, awesome :)

The closing Firefox etc fix works!

Do you have the previous 1.04 version available anywhere (even if linked just here)? I overwrote it with 1.05, however the aforementioned 'force exclusive' effect now no longer works. It's probably tied to how it was hooking in to other apps (like Firefox) but I hadn't finished testing it yet with other games that don't properly force fullscreen. Maybe it's not even feasible in the long run, but I'd still like to test the hypothesis.

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

  • niftucal
  • Topic Author
More
5 years 2 months ago #32 by niftucal Replied by niftucal on topic FPS Limiter for Vulkan, OpenGL, DirectX 9 - 12
Sure, I created this link for you: niftucallabs.page.link/MartiGameForce
None of the updates should affect that though. I could look into making that an official configurable feature, but I had the impression it could already be forced in the Nvidia profile settings.

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

  • Chilace
More
5 years 2 months ago #33 by Chilace Replied by Chilace on topic FPS Limiter for Vulkan, OpenGL, DirectX 9 - 12
I recommend adding another modifier to the hotkeys, as Ctrl is widely used (e.g. Control+Shift+Page Up/Page Down).
In my case, Page Up/Page Down are assigned to additional mouse buttons (10 key mouse) for switching weapons / devices in games, and Ctrl used for crouching.

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

  • niftucal
  • Topic Author
More
5 years 2 months ago - 5 years 2 months ago #34 by niftucal Replied by niftucal on topic FPS Limiter for Vulkan, OpenGL, DirectX 9 - 12
Hi. Good keys are usually used as the number of active shortcuts increases, so people have to shuffle the key-bindings regardless, either in the game options or somewhere else. One advantage of the Ctrl key is you have an alternative: Left-Ctrl is normally used in games but you can still use Right-Ctrl to activate it without interfering. If that still bothers you use GameForce instead, since it blocks the key-combinations in the game. This way you can use Ctrl and Page Up/Down as usual but don't interfere with the game when they're pressed simultaneously.

MfG
Last edit: 5 years 2 months ago by niftucal. Reason: grammar

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

  • Kaldaien
More
3 years 7 months ago #35 by Kaldaien Replied by Kaldaien on topic FPS Limiter for Vulkan, OpenGL, DirectX 9 - 12
"Gsync requires Exclusive Fullscreen."

No it doesn't. What it requires is a direct flip compatible swapchain. This means Vulkan (via swapchain interop), D3D11 and D3D12 are all capable of G-Sync in windowed mode. Most engines just aren't setting up their swapchain correctly for this to work. It's a real shame, because borderless window mode with a latency waitable swapchain is higher performance than fullscreen exclusive. I've made a point to kill fullscreen exclusive mode in as many games as I possibly can and inject proper flip model support instead.

The level of tuning you can do on the framerate limiter when you've got low-level control over the swapchain has the potential to shave several frames of input latency and improve frame pacing to cartoonishly perfect levels if you ever look at Special K's framerate limiter performance using CapFrame X it blows everything out of the water. I'd be really interested in getting the work I've done integrated into ReShade since many people think my software is too complicated :P

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

  • lowenz
More
3 years 7 months ago - 3 years 7 months ago #36 by lowenz Replied by lowenz on topic FPS Limiter for Vulkan, OpenGL, DirectX 9 - 12
Wow, we got the mighty Kaldaien on these forums!

Yes, you're (of course) right, "Fullscreen Gsync" can work easely with Flip Fullscreen too. For Windowed/Borderless Windowed Fullscreen (=maximized window with no border) it requires the related selection in NVCP.
Last edit: 3 years 7 months ago by lowenz.

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

We use cookies
We use cookies on our website. Some of them are essential for the operation of the forum. You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.