Page 37 of 44

Re: flood's input lag measurements

Posted: 12 Dec 2016, 01:33
by Sparky
That's about what I expected, though it seems like the minimum times were impacted significantly more than the average times. I suppose that any waiting for the GPU is heavily impacted by frametime variance.

Here's a pic I made to show what I think is happening:

Image

edit: minor changes to image.

Re: flood's input lag measurements

Posted: 12 Dec 2016, 01:43
by Sparky
To clarify a couple points of the image:

Latency, as measured by your device, ranges from a random point of the Green "Input" bar, to the start of the green "Results" bar.

If the cap is below the MQM 0 framerate, the two CPU threads stop overlapping.

Re: flood's input lag measurements

Posted: 12 Dec 2016, 17:05
by stirner
Great stuff. Making me feel bad for capping below 300.

Request: Can you shut down the "NVIDIA Display Container LS" service from services.msc (it will kill the NVIDIA Container and Experience processes) and check whether it affects CS:GO latency at all?

And out of bullshit curiosity: Mind checking whether running Steam/CS:GO in admin mode changes anything? Likewise, running Steam from a shortcut with the "-no-browser" parameter to prevent the web helper from being co-launched. These probably change next to nothing/negligibly affect performance at most, but hey, they are easy enough to test and I take it you want to test.

Re: flood's input lag measurements

Posted: 12 Dec 2016, 21:09
by lexlazootin
stirner wrote:Great stuff. Making me feel bad for capping below 300.
Whoa, don't jump to conclusions mate. Simply saying that you shouldn't cap below 300fps would be a assumption based on the test results.

My guess based on the Spark and Floods post is that capping somewhere below your lowest fps count (550/500 in this case) reduced latency because of the freeing up of CPU time? But going any lower will obviously would add latency due to the frame times rising.

So every system would be different and the map/gamemode would factor into this as well.
stirner wrote:Request
You're probably right in saying those would reduce latency, but only in terms of freeing up rendering times VERY slightly or not even noticeable amounts.

Flood, what CS:GO team you on?

Re: flood's input lag measurements

Posted: 12 Dec 2016, 21:33
by flood
stirner wrote:These probably change next to nothing/negligibly affect performance at most, but hey, they are easy enough to test
well then i should also test if flushing my toilet does anything :P

it is easy in the sense that it would take like 10min or so but nowadays i have only a hour or so a day on weekdays. so i'll probably do it during the weekend

for csgo, first step is to determine all the framerate/frametime dependent effects. (i.e. stuff that can be explained by stuff like Sparky's drawings above). the amount of lag that's not explained by that is the thing thing to worry about. if that amount is X, that means that doing anything to my setup, which doesn't affect the framerate/time, can improve the input lag by a maximum of X.

Re: flood's input lag measurements

Posted: 12 Dec 2016, 21:47
by Sparky
lexlazootin wrote: My guess based on the Spark and Floods post is that capping somewhere below your lowest fps count (550/500 in this case) reduced latency because of the freeing up of CPU time? But going any lower will obviously would add latency due to the frame times rising.
Because it eliminates the waiting between the CPU being done with the frame, and the GPU being ready to start working on a frame.
So every system would be different and the map/gamemode would factor into this as well.
Yep.

Re: flood's input lag measurements

Posted: 12 Dec 2016, 22:34
by flood
i'm not so sure about that
also in actual gameplay fps fluctuates so much that it's probably best to just use uncapped (or fpsmax 1000 to avoid glitches with source engine)

Re: flood's input lag measurements

Posted: 12 Dec 2016, 22:51
by Sparky
flood wrote:i'm not so sure about that
also in actual gameplay fps fluctuates so much that it's probably best to just use uncapped (or fpsmax 1000 to avoid glitches with source engine)
I think a framerate cap of about 90% of a high average framerate is beneficial if you're GPU limited. Pointless if you're already CPU limited.

If the fluctuation in frametime was caused by the CPU, you might want to stay GPU limited, just for more consistency, but it's pretty clear that most of the variance that isn't caused by framerate is caused by the GPU, otherwise the uncapped graph would show a more uniform distribution, less normal distribution.

Re: flood's input lag measurements

Posted: 12 Dec 2016, 22:52
by flood
something like 500, maybe
also helps reduce temperature

Re: flood's input lag measurements

Posted: 13 Dec 2016, 07:10
by stirner
lexlazootin wrote:Simply saying that you shouldn't cap below 300fps would be a assumption based on the test results.
That's you jumping to conclusions - I've never said that! I'll keep capping at 128.

I'm just saying that, apparently, the lower caps introduce a latency behaviour that is worse than as is expected from rendering intervals increasing.
You're probably right in saying those would reduce latency, but only in terms of freeing up rendering times VERY slightly or not even noticeable amounts.
Disabling the web helper processes - probably. Admin mode could affect game and input processing priorities I guess? And thus affect latency more directly than as a performance by-product.

And disabling the NVIDIA service - although it's been a while since I've checked this; it wasn't even called "Container" back then, for one thing - did have an effect on the game I can't help but say I've felt while playing.

Obviously these are little, likely non-noteworthy tweaks, but we all know the three or four things you can do to actually reduce latency, and then we already are in the low single-digit millisecond range... so what else to tinker around with than precisely little quirks like that?
flood wrote:well then i should also test if flushing my toilet does anything :P
Well, what else were you going to test? :p

Thanks for taking the time though, if you are to!