Forum Discussion

duzlord's avatar
duzlord
Rising Rookie
23 days ago

Render queue + refresh rate + mouse keyboard stutter. Cause + maybe fix + video

Bug:
The game engine is not handling the rendering of queued frames properly, or is conflicting with nvidia driver management of rendering queued frames queue.
CPU - intel 14700k
GPU - nvidia 5080 (present on multiple different driver versions)
OS - windows 11

Context:
Standard reflex / low latency behaviour is to limit render queued frames to 1. Limitting frames queue to 1 provides higher more stable fps than 0 and should be an overall smoother experience for the player and generally is the widely accepted optimal balance between latency and visual quality.

Issue:
The default setting of RenderDevice.RenderAheadLimit 1 is bugged.
BF6 is not handling this queue properly or there is a conflict between game and driver. By using the in-game console command RenderDevice.RenderAheadLimit to compare the difference between the default value of 1 and custom value of 0, I have documented that when set to 1, RivaTuner Statistics Server (RTSS) monitoring value for Display Refresh Rate is severely out of sync with in-game fps. When set to 0 the same value behaves correctly, closely following and adapting to the changes in in-game fps. Observing my monitor's onscreen display value for current refresh rate Hz also shows wild fluctuations which causes gsync to disengage or low framerate compensation (LFC) to kick in, both of which compound the effect of stuttering.

It is expected that 224 fps (with a 1 frame queue) would look noticably smoother than 180 fps (with a 0 frame queue). But this is not the case due to the stuttering bug.

Also the in-game setting of allow pre-rendered frames has no effect, one would think it would toggle that console value?

Additional anomalous behaviour:
Randomly occurring sometimes I will launch the game and the RTSS value for display refresh rate will match fps but there is no change in the issue, movement is still choppy, monitor OSD still wildly fluctuating, breaking gsync range and causing LFC. So I believe that despite RTSS showing the Hz in sync, it's just a reporting error and the issue is fundamentally tied to the game's handling of the render queue.

Extra:
I have tested almost every setting in the game, nvidia control panel and windows graphics settings, so I'm not looking for a have you tried this or that response and I'm not willing to compromise on gsync, polling rates etc. (I have tested various on/off settings, different rates etc). This issue has been present since the game launched and from my observations I would suggest it is closely related if not the exact cause of the widespread mouse and keyboard stutter issues that a large percentage of PC players are still experiencing. I'm a player not a beta tester and I'm getting close to giving up on this game.

Wild Speculation in relation to Lag / Hitreg / Missing Inputs:
To me it feels like the game is implementing it's own frame buffer (on top of the gpu driver) to artificially boost fps, causing up to 3x delay, i.e. at 240fps, which should be ~4.2ms frame time (0 buffer), with a 1 frame buffer we actually experience ~8.4ms latency. Now consider the game engine  render time + game extra 1 frame buffer + nvidia driver 1 frame buffer = 3x @ 12.6ms latency. This would explain some of the weird gameplay moments of being shot behind walls, being shot by players who aren't facing you yet, dying after proning, hitreg, game not registering keyboard inputs etc.

Pair that 12.6ms render latency with thinking you're getting perfectly synchronised 240fps but you're actually getting desynced 140fps and the game is unplayable. My understanding is if the game isn't trying to buffer frames and just letting the driver handle it then we would see an acceptable 4.2-8.4ms depending on driver specific settings, reflex etc.

Anyway here is a video of this issue and attached is a screenshot of my nvidia control panel settings and windows graphics settings.

https://www.youtube.com/watch?v=ORuq1atQPGs

Note for the slow motion footage at the end: (Timestamp 3:08)
The right side with renderaheadlimit 0 causes a loss in fps to around 180 fps, whereas the left side with renderaheadlimit 1 is achieving 228 fps. So it looks less smooth but clearly resolves the stutter / pacing issue.

Finally if other players want to test the same scenario on an AMD graphics card or other setups to help see if it is specifically a game bug or a nvidia issue, that would be appreciated.

15 Replies

Featured Places

Node avatar for Battlefield 6 Technical Issues

Battlefield 6 Technical Issues

Having issues with Battlefield 6? Join here to find help with connectivity, performance issues, crashes and more.Latest Activity: 6 hours ago
6,748 Posts