Deus Ex: Human Revolution - Director's Cut

Deus Ex: Human Revolution - Director's Cut

View Stats:
yæmæhæ Jun 13, 2023 @ 5:49am
Potential fix for FPS drops
Hi,

I recently got a fairly new Intel CPU & AMD GPU and wanted to revisit this game, but I experienced some heavy FPS drops.
After looking into it for a while and trying existing solutions to no avail, I found a solution that has been working for me and wanted to share it here because I haven't found it anywhere else.

Note that I am talking about actual FPS drops, especially when moving the mouse to look around. I am not talking about the stuttering issue some people experience. Fortunately for me, I haven't experienced any stuttering on this PC whatsoever (I did with my old setup though), so I can't tell if this fix helps with that as well (although I doubt it).

Anyway, what removes the FPS drops and makes the game run smooth for me is using RivaTuner Statistics Server (RTSS) to limit the framerate.
To be precise, what seems to make the decisive difference is the option called "Enable passive waiting", which changes the way the framerate limiter waits for the target framerate* (full description below). That option is already enabled by default.
Make sure that both that option and "Enable framerate limiter" (I'm using the default "async" setting) are enabled in the setup options, and that the framerate limit is set to the framerate you want to play the game in. In my case it's 60 FPS, a much higher framerate can cause issues with this game anyway[www.pcgamingwiki.com].
You can add Deus Ex as a separate profile if you don't want these options to be applied globally, or only start RTSS when playing Deus Ex.

As for the in-game options, I have both Triple Buffering and Vsync enabled, although I don't think it makes any difference for this solution if you decide to disable these. Same goes for the settings in the AMD Software.

This is obviously not gonna fix everyone's problem, hence "potential fix", but hopefully it's still of use to some people.

Good luck.

* "Enable passive waiting" description:
Framerate limiter module can wait for target frametime using either passive (waitable timer based) or active (busy waiting loop based) mode. Passive waiting reduces CPU power consumption, but waitable timer precision on some systems can be non-ideal for perfect framepacing. As a result of passive waiting, CPU may also enter idle state with lower clock frequencies, and constant switching between idle and performance modes may also negatively affect framepacing precision and cause microstuttering. Active waiting mode maximizes CPU load on CPU core running render thread and this way preventing it from entering unwanted idle state while gaming. The only disadvantage of this mode is slightly higher CPU power consumption, this mode's framepacing precision is unbeatable. So select passive mode if your preference is CPU power consumption. Select active mode if your preference is maximum precision of framepacing.
Last edited by yæmæhæ; Jun 13, 2023 @ 5:51am