Effective framerate/responsiveness is capped at 60 FPS regardless of render FPS
Summary
On high-refresh displays the game feels locked to 60 FPS even when render framerate is far higher. Unfortunately, 60 fps makes me genuinely motion sick and I am unable to play for more than 10-20 minutes at a time. The cause appears to be that input and camera are bound to a fixed 60 Hz simulation tick with no render loop interpolation. As a test, I raised the simulation tick to 120 Hz via a plugin and immediately noticed the difference, confirming this is not due to graphics or monitor settings
Setup
- Build: 2.2.0.2116
- GPU: RTX 3070
- Display: 3440x1440 @ 120 Hz (no VRR)
- Render FPS (VSync off): 115 to 160, but mouse-look still feels like 60.
Observed behavior
- 115 to 160 render FPS, yet camera movement and motion feels like 60 and triggers motion sickness within half an hour
- The performance overlay shows the render thread well above 60 Hz while the update/pacer side sits at 60.
- Dropping all graphics settings does not change the feel, so it is not GPU performance.
Diagnosis
The simulation/update loop runs at a fixed 60 Hz (CoreSettings.TargetFrequency = 60, fed into AppLoop). Input sampling and camera transform run on that same 60 Hz tick, and the camera is not interpolated between ticks, so view orientation only updates 60 times per second no matter the render framerate. That low-rate, slightly stuttery camera motion is a classic motion-sickness trigger, and it matches the long-standing "200 FPS but feels like 60" reports from SE1.
Confirmation (test plugin)
I loaded a small local plugin (via the built-in -plugins: loader) that raises the loop to 120 Hz at startup (ApplicationLoop.TargetFrequency = 120). With input, camera, and simulation ticking at 120 Hz, the motion finally feels like true 120 Hz and the nausea does not set in. My CPU sustained 120 ticks/sec with no slowdown. As a side affect, this made the simulation speed 2x and is therefore not an acceptable permanent solution
Impact
Every player on a 90/120/144/240 Hz display gets 60 Hz responsiveness regardless of hardware. Beyond feel, this is an accessibility and health issue: players who are sensitive to low frame pacing (a large group) can be made physically ill and effectively cannot play for long sessions.
Suggested solutions
- As an interim measure, add a setting for the simulation rate, with timesteps scaled correctly for whatever value is selected. This would not be the final solution, but it would give high-refresh players a usable feel while the real fix is built.
- The proper fix is to run rendering and simulation at independent rates and interpolate state between simulation ticks for everything that moves on screen, including the player character, grids, and other dynamic entities, not only the camera.
- If full interpolation is too large a change to do now, prioritize interpolating camera motion on its own, since that accounts for the large majority of the perceived problem and would deliver most of the benefit for a fraction of the work.
I am happy to share overlay readings, my test method, or more detail.
I have the same bug
Replies have been locked on this page!