If you're seeing 15ms of additional lag with 1RAL when hitting the frame limit, there must be something wrong since that corresponds to an additional 3 frame delay when there should be a maximum of one.Dustmuffins wrote:As it should. What I mean is something like this:
RAL = Render ahead limit.
144 fps 1RAL = 40ms
143 fps 1RAL = 40ms
142 fps 1RAL = 25ms
144 fps 3RAL = 55ms
143 fps 3RAL = 55ms
142 fps 3RAL = 40ms
I'm just making these numbers up off of the top of my head... I'd imagine they're close to this.
As you can see, decreasing the render ahead limit does have a major impact, but it still doesn't affect the difference between 142 fps and 144. So I hypothosize that even with a render ahead limit of 0, the difference will still exist.
You're probably right about that, especially since in my experience, the Source engine's frame limiter actually limits the framerate 2-3% lower than the setting (at least with vsync on.) In the past I have found that some Source engine games stuttered after turning vsync on and the framerate shown in the net_graph was highly variable so I got into the habit of setting fps_max 60 in addition to vsync. After doing this the net_graph showed a near constant 59 fps with momentary drops to 58 but ran very smoothly. I always assumed it was a rounding error since more accurate frame counters like MSI Afterburner often show 59.9 fps when using vsync. When I first tried Counter Strike: Global Offensive at 120 Hz, I naturally set fps_max 120, then discovered that the game was running at 117 fps with momentary drops to 116, with very noticable frequent stutters from the dropped frames. Setting fps_max 300 let the engine actually run at 120 fps, nice and smoothly.Chief Blur Buster wrote:I think the fact that lag is still there at 143 is a deficiency somewhare along the chain, either in the game, the drivers, the G-SYNC poll algorithm, etc. It may be a poll collision (e.g. drivers polled the monitor, monitor still appeared busy refreshing, drivers suddenly waited much longer). I know NVIDIA said they are working on eliminating the poll (1ms), it's also possibly a manifestation of this that we're seeing. I might ask NVIDIA directly about this...
In any case, what was the maximum pre-rendered frames setting in the nVidia control panel set to when these tests were run? Are there any other game engines capable of similar framerate limiting as the Source engine that could also be tested? It may also be worthwhile to test the frame limiter available in the nVidia drivers which is hidden, but can be accessed through nVidia Inspector, for comparison.