bapt337 wrote: ↑13 Apr 2020, 05:09
Personnaly i didnt notice any benefit to use LLM ultra comapre to LLM ON in term of inputlag, even more in my scenario cpu never bottleneck casue frame are limited, and gpu also never used to the max, so i dont get the point to use LLM ultra compare to LLM = ON.
And i dont know how LLM=ULTRA can be usefull in cpu bound scenario? i mean, LLM=ULTRA= 0 pre rendered frame, so no buffer, then it should the most heavy for cpu, so if you already cpu bottleneck, and use LLM=ultra, hmmm....
On other hand i dont understand why LLM=ultra have to be used in gpu bound scenario, why couldnt it work with low gpu usage? cause if low gpu usage this mean its cpu limited? or framerate limited? in that case then LLM = ultra have to be used with unlocked fps? cause depending the game, uncapped fps will bound the gpu, but on CS GO for example, uncapped fps give cpu botleneck, so not good for LLM= ultra.
You're continuing to complicate it. LLM can reduce input lag, and typically by only 1 frame, when you're GPU-bound. When you're not, it has little to no effect on input lag. That said, it
should be safe to leave on when you're not GPU-bound, just don't expect it to do anything for input lag when you aren't GPU-bound.
Also, the pre-rendered frames queue and LLM aren't always the same thing. The pre-rendered frames queue is always present, it's just not always filled. LLM only controls how much the PRF queue can be filled, and only in certain situations (the PRF queue simply stays filled more when the GPU is maxed, because the CPU has to wait longer for the GPU to be ready for the next frame).
And believe it or not, even some DX11 and DX9 games don't support LLM settings and use their own PRF values (many of which are already at "1"). And no, there's no easy way to tell.
And again, if the pre-rendered frames queue is at "1," it's not a constant "1" frame, it's anywhere from 0-1 frames, or 0-3 frames, or 0-5 frames; the "x" number is the "max" number PRF can be, not the constant. That's why the setting used to be called "Maximum pre-rendered frames."
Anyway, we keep talking about input lag here, but the pre-rendered frames queue actually has more to do with how high or low of an average framerate the CPU can output than it does with input lag, that's why setting PRF values too low can sometimes reduce average framerate. Just try any modern Battlefield game, and then set it's "RenderAheadLimit" value to "1"; you'll see how an actual max pre-rendered frame of "1" can impact average framerate.
bapt337 wrote: ↑13 Apr 2020, 05:09
Sorry for all my odd question, this become a bit obsessional to me, i really want to know how it work from A to Z.
Good luck, because it's the hardest setting to understand, the hardest setting to test for, and the hardest setting to see the effects of, especially on the user-side. And even if you can, in situations where your settings can actually make a difference, you're more likely to see it effect average framerate first, as opposed to input lag directly.
I'll close with a couple other sources on LLM:
https://www.nvidia.com/en-us/geforce/ne ... dy-driver/
The NVIDIA Control Panel has -- for over 10 years -- enabled GeForce gamers to adjust the “Maximum Pre-Rendered Frames”, the number of frames buffered in the render queue. By reducing the number of frames in the render queue, new frames are sent to your GPU sooner, reducing latency and improving responsiveness.
With the release of our Gamescom Game Ready Driver, we’re introducing a new Ultra-Low Latency Mode that enables ‘just in time’ frame scheduling, submitting frames to be rendered just before the GPU needs them. This further reduces latency by up to 33%:
Low Latency modes have the most impact when your game is GPU bound, and framerates are between 60 and 100 FPS, enabling you to get the responsiveness of high-framerate gaming without having to decrease graphical fidelity.
And:
https://www.howtogeek.com/437761/how-to ... -graphics/
Graphics engines queue frames to be rendered by the GPU, the GPU renders them, and then they’re displayed on your PC. As NVIDIA explains, this feature builds on the “Maximum Pre-Rendered Frames” feature that’s been found in the NVIDIA Control Panel for over a decade. That allowed you to keep the number of frames in the render queue down.
With “Ultra-Low Latency” mode, frames are submitted into the render queue just before the GPU needs them. This is “just in time frame scheduling,” as NVIDIA calls it. NVIDIA says it will “further [reduce] latency by up to 33%” over just using the Maximum Pre-Rendered Frames option.
This works with all GPUs. However, it only works with DirectX 9 and DirectX 11 games. In DirectX 12 and Vulkan games, “the game decides when to queue the frame” and the NVIDIA graphics drivers have no control over this.
Here’s when NVIDIA says you might want to use this setting:
“Low Latency modes have the most impact when your game is GPU bound, and framerates are between 60 and 100 FPS, enabling you to get the responsiveness of high-framerate gaming without having to decrease graphical fidelity. “
In other words, if a game is CPU bound (limited by your CPU resources instead of your GPU) or you have very high or very low FPS, this won’t help too much. If you have input latency in games—mouse lag, for example—that’s often simply a result of low frames per second (FPS) and this setting won’t solve that problem.
Warning: This will potentially reduce your FPS. This mode is off by default, which NVIDIA says leads to “maximum render throughput.” For most people most of the time, that’s a better option. But, for competitive multiplayer gaming, you’ll want all the tiny edges you can get—and that includes lower latency.