Fix Steam/GOG slowdown and XR frame pacing - #19
Open
linkazoid91 wants to merge 1 commit into
Open
Conversation
linkazoid91
marked this pull request as ready for review
August 8, 2026 10:22
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this fixes
This change addresses two separate problems that made the game feel much slower
than the frame-rate display suggested.
First, F.E.A.R. has an old input bug that can make performance start well and
then get progressively worse while playing. The existing fix was not being
applied reliably to the tested Steam and GOG versions.
Second, the VR frame-pacing code could wait for another OpenXR frame even when
it already had a fresh one. VDXR could therefore report 90 FPS while the game
still looked and felt much slower.
What changed
code, before DirectInput starts scanning devices.
duplicate. Fresh requests are rendered immediately.
report the game's raw Present rate.
pacing.
during development updates.
Safety
The input fix changes memory only while the game is running. It does not edit
FEAR.exeon disk. Both complete code regions must match a verified layout, oralready contain the expected patch, before anything is changed. Unknown game
builds are left untouched.
Existing profiles, settings, and saved games are preserved.
Verification
RelWithDebInfo.applied.already_appliedbecause thepost-unpack loader had applied it before DirectInput initialization.
regions were fully patched.
time.
Tested executables
D5EBC38A4F12B772C9112A2811C290ADB6C5052D3BC2F817302D38CF55BB2CBEC1678AA4DF37E87C097F45D8EB68A7C379D99AD12D8DA2771CF6235D9493D0B2Not included