Nvidia and CS GO Lowest Input LAG

Everything about latency. Tips, testing methods, mouse lag, display lag, game engine lag, network lag, whole input lag chain, VSYNC OFF vs VSYNC ON, and more! Input Lag Articles on Blur Busters.
sreten
Posts: 5
Joined: 11 Nov 2016, 22:16

Nvidia and CS GO Lowest Input LAG

Post by sreten » 11 Nov 2016, 22:21

My question is my friend is a PRO CS GO gamer and he wants to have the least amount of input lag in terms of NVIDIA settings, CS GO auto exec, configs, launch options, video file because those are the things he can change at LAN.

This is my launch options but I am not as knowledgeable as you all I am not sure if they work well or not?

+mat_queue_priority 2 -noforce -noforcemaccel -noforcemparms -noforcemspd -noforcercemspd -nojoy -novid -noheap -nod3d9ex -noaafonts -noipx -console +exec autoexec -threads 2 -cpuCount=2 -exThreads=1

Are their certain sound settings he should use? What are the best settings to LEAST amount of INPUT LAG basically what I am asking?

Nvidia has alot of options to play with and which options will reduce input lag? such as texture filtering: quality or high performance? Do you want No Scaling and Display?

I am sorry for long message I just wanted it to be as clear as possible what I am asking .
I hope you can help us out and tell us which settings to use for CS GO and NVIDIA for Low Input Lag.

Should he use m_rawinput 1 or 0?

Sparky
Posts: 682
Joined: 15 Jan 2014, 02:29

Re: Nvidia and CS GO Lowest Input LAG

Post by Sparky » 11 Nov 2016, 22:36

Bottom line is high framerate is good, being CPU limited is good, and having vsync off is good. Game settings that don't impact those things have little if any impact on input lag.

If you're GPU limited, turning down graphics settings or using fps_max just under your framerate can reduce latency.

User avatar
RealNC
Site Admin
Posts: 3740
Joined: 24 Dec 2013, 18:32
Contact:

Re: Nvidia and CS GO Lowest Input LAG

Post by RealNC » 12 Nov 2016, 04:06

These options don't do anything useful. In fact, they might be harmful to performance even.

The only things that lower input lag as much as possible are:
  • Playing with vsync off (no gsync and no fastsync).
  • Playing in fullscreen mode. Never in borderless mode. Borderless mode makes the game go through the Windows desktop composition pipeline, which adds at least 1 frame of latency.
  • Making sure the mouse is set to 1000hz (most gaming mice do that automatically when plugged in.)
  • Avoiding any kind of resolution scaling. That means playing at the monitor's native resolution. 4:3 is still possible if that's what you want, but you need to create a new NATIVE 4:3 resolution (for a 1080p monitor, the native 4:3 res is 1440x1080.) Simply create that resolution in the nvidia control panel. The game should then list it in the in-game settings.
The last point (scaling) is not critical though. Gaming monitors have low latency scalers, and so does GPU scaling. Scaling latency is only an issue with monitors that provide high quality scaling that can buffer a whole frame. Gaming monitors don't do that.
SteamGitHubStack Overflow
The views and opinions expressed in my posts are my own and do not necessarily reflect the official policy or position of Blur Busters.

sreten
Posts: 5
Joined: 11 Nov 2016, 22:16

Re: Nvidia and CS GO Lowest Input LAG

Post by sreten » 12 Nov 2016, 17:45

Thank you for your responses RealNC and Sparky. I was wondering what about NVidia settings such as Shader Cache, Threaded Optimizations? Does he put it Performance all settings vs Quality at lans? I will mention about Native Resolutions as you know most pros use 4:3 and he uses 1024 x 768.

Does anyone else have any input on this matter? Any other settings in CS GO , NVIDIA , autoexec, launch options that lower input lag?

User avatar
RealNC
Site Admin
Posts: 3740
Joined: 24 Dec 2013, 18:32
Contact:

Re: Nvidia and CS GO Lowest Input LAG

Post by RealNC » 12 Nov 2016, 18:26

The only other thing is cl_interp_ratio. On LAN, that should be set to 1. The default of 2 increases interpolation amount to guard against packet loss. On LAN there usually is no packet loss, so disabling the extra interpolation by setting this to 1 is recommended.

Nvidia settings don't have any effect on input lag, except pre-rendered frames, which should be set to 1 (this is just in case; this setting is for vsync on, but it doesn't hurt setting to 1 even for vsync off.)

Shader cache just caches shaders between game sessions (a bit faster map loading times, less hitching when viewing weapons in your inventory, stuff like that; doesn't have anything to do with input lag).

Threaded optimization also has no measurable effect and should be left to "auto". This setting is there for compatibility with same very old or buggy games.

The quality settings can be left at their defaults; they don't have a real effect on performance on modern GPUs.

Overall, it's best to start with nvidia's default settings, and then just set prerendered frames to 1, and performance mode to maximum.

The resolution thing is mostly a non-issue on gaming monitors. The scaler doesn't add much input lag. However, running a native 4:3 res gives a better image. It's less blurry. AFAIK, CS:GO does not alter the hitboxes when you use smaller resolutions. Running 1024x768 will not give you bigger hitboxes. It just gives you a blurry image due to scaling.
SteamGitHubStack Overflow
The views and opinions expressed in my posts are my own and do not necessarily reflect the official policy or position of Blur Busters.

sreten
Posts: 5
Joined: 11 Nov 2016, 22:16

Re: Nvidia and CS GO Lowest Input LAG

Post by sreten » 12 Nov 2016, 19:30

Thank you for all the information RealNC I appreciate your help. Do you know anything about the CS GO video settings, autoexecs and launch options if they can be altered to reduce input lag?

stirner
Posts: 74
Joined: 07 Aug 2014, 04:55

Re: Nvidia and CS GO Lowest Input LAG

Post by stirner » 13 Nov 2016, 12:00

You can remove most of those launch options. They certainly do not affect input lag, and beyond that not much else either.

mat_queue_priority seems to do the same as mat_queue_mode. If the latter is set to "2" in your video config, there should be no difference. Keep in mind that multicore rendering (mat_queue_mode "2") only improves performance - if you are capping your framerate anyway, singlecore rendering should improve frametime stability. You can use "-high" though, which sets the process priority of csgo.exe to high and improves its stability further.

The -noforce parameters are obsolete (and you'd need to use "-useforcedmparms" for them to work at all); in-game sensitivity scales properly and without acceleration as long as you do not have it enabled in Windows (Enhanced Pointer Precision unchecked) or CS:GO itself (m_customaccel "0", m_mouseaccel1 "0", m_mouseaccel2 "0", m_mousespeed "0"). And yes, you really should be using raw input (m_rawinput "1") - it has direct advantages over cursor-based standard input and no input lag difference anyone had ever appreciably shown.

-novid is unnecessary in as much as -console already prevents the video from being played (for me anyway).

-noheap forces CS:GO into an inferior RAM management mode (stacked allocation afaik). This was first brought up when CS:GO had memory leak issues. Those are gone - you don't need any of this. The only thing relevant with regards to RAM is the "setting.mem_level" variable in your video config: it tells the game how much paged pool memory it is allowed to use. Using paged pool is more efficient than using non-paged (physical vs. virtual utilization). Set it to "2" if you have more than 4GB physical RAM.

-nod3d9ex doesn't work anymore from what I've read, and shouldn't affect anything in fullscreen mode anyway if it is working correctly. -noaafonts disables font aliasing, which, fair enough if you want blocky fonts in-game, but it doesn't affect rendering performance. -noipx disallows usage of a network protocol that CS:GO doesn't even use. -exec autoexec is redundant - the autoexec is already auto-matically exec-uted at launch, hence the name. -threads, -cpuCount and -exThreads are absurd; just let CS:GO decide on core and thread utilization. mat_queue_mode "2" is multicore utilization with thread-per-core multithreading; mat_queue_mode "0/1" are singlecore with single thread. If your processor does not implement hyper-threading (or if you don't want to use it, which you shouldn't), there is no reason to manually set "threads".

Just stick to: -high -freq [insert highest achievable refresh rate] -nojoy -console -trickrate 128

>NVIDIA Settings
It's best to use "Display; No Scaling". Shouldn't make a difference at native resolution as RealNC has pointed out (is there really such a thing as a "native 4:3 res" on 16:9 monitors though?).
Use the custom resolution tool to set the maximum refresh rate your monitor goes to at native resolution (or at the resolution you want to play on).
3D settings: let application decide/off wherever possible for antialiasing options, power management: prefer maxumum performance, pre-rendered frames: 1, single-display performance mode, shader cache: on, texture filtering: high performance, anisotropic sample optimization: on, trilinear optimization: on, threaded optimization: auto, VSync: off, ambient occlusion: off.

>autoexec
There's some minor performance cvars, but those aren't really worth listing here (I can if you want them though). The only essential things are mouse settings...

joystick "0"
joystick_force_disabled "1"
joystick_force_disabled_set_from_options "1"
m_customaccel "0"
m_customaccel_exponent "0"
m_customaccel_max "0"
m_customaccel_scale "0"
m_mouseaccel1 "0"
m_mouseaccel2 "0"
m_mousespeed "0"
m_pitch "0.022000"
m_rawinput "1"
m_yaw "0.022000"
sc_enable "0"
sensitivity "2.000000" [insert your sensitivity]
zoom_sensitivity_ratio_mouse "1" [see above]

net and framerate settings...

cl_cmdrate "128"
cl_interp "0"
cl_interp_ratio "1"
cl_updaterate "128"
fps_max "128" [insert your value]
fps_max_menu "128"
rate "786432"

and sound settings.

dsp_enhance_stereo "1"
snd_front_headphone_position "90"
snd_headphone_pan_exponent "1"
snd_headphone_pan_radial_weight "1"
snd_legacy_surround "0"
snd_mixahead "0.05"
snd_musicvolume "0"
snd_musicvolume_multiplier_inoverlay "0"
snd_pitchquality "1"
snd_rear_headphone_position "90"
volume "1"
windows_speaker_config "1"

>video file

"VideoConfig"
{
"setting.aspectratiomode" "0" [0 = 4:3; 1 = 16:9 2 = 16:10]
"setting.cpu_level" "0"
"setting.csm_quality_level" "0"
"setting.defaultres" "1024" [insert your value]
"setting.defaultresheight" "768" ["]
"setting.fullscreen" "1"
"setting.gpu_level" "0"
"setting.gpu_mem_level" "0"
"setting.mat_aaquality" "0"
"setting.mat_antialias" "0"
"setting.mat_forceaniso" "0"
"setting.mat_grain_scale_override" "0"
"setting.mat_motion_blur_enabled" "0"
"setting.mat_queue_mode" "2"
"setting.mat_software_aa_strength" "0"
"setting.mat_triplebuffered" "0"
"setting.mat_vsync" "0"
"setting.mem_level" "2"
"setting.nowindowborder" "0"
}

Copy-paste into yours and set to read-only.
That's for maximum performance, but you can adjust things such as shadow quality and stuff as you prefer. Resolution is best kept at native monitor setting, framerate can be uncapped or capped anywhere above 128fps - preferably in multiples of monitor refresh. Capping framerate improves stability, but if your machine is good enough to keep framerate above 200fps or so at all times, these micro-instabilities ("microstuttering") are not really noticeable anyway and more frames equal less latency. As Sparky has pointed out though, it's important to make sure you are CPU-limited, not GPU.

There really isn't anything that drastically reduces input latency. On a solid system without anything weird going on and a virginal CS:GO, perceived lag is already in the low millisecond range, actual "input latency" (USB report to game event) in the microseconds. Tweaking the system maybe shaves off two or three milliseconds perceptive lag at most - now imagine switching from a mouse with 15ms click latency to one with ~1ms! Tell your friend to get a low-debounce mouse and... carry a CRT to LAN. :p

User avatar
lexlazootin
Posts: 1251
Joined: 16 Dec 2014, 02:57

Re: Nvidia and CS GO Lowest Input LAG

Post by lexlazootin » 13 Nov 2016, 17:30

Guide is on point +1!

There is no secret when it comes to input lag.
now imagine switching from a mouse with 15ms click latency to one with ~1ms! Tell your friend to get a low-debounce mouse and... carry a CRT to LAN. :p
You can do weird and wacky settings like what (TRIGGER WARNING) R0ach tell you to do in those latency guides to shave off micro seconds or you can stop using that Razer or Zowie that has 15-20ms of total input lag.

Get a Logitech and click some heads ;)

http://cdn.overclock.net/8/8e/8e56a60d_ ... 150718.png

Q83Ia7ta
Posts: 761
Joined: 18 Dec 2013, 09:29

Re: Nvidia and CS GO Lowest Input LAG

Post by Q83Ia7ta » 13 Nov 2016, 19:20

lexlazootin wrote:or you can stop using that Razer or Zowie that has 15-20ms of total input lag.

Get a Logitech and click some heads ;)

http://cdn.overclock.net/8/8e/8e56a60d_ ... 150718.png
True. After that fuck up with 16ms button latency at whole zowie lineup I can't buy mouses by this brand and even 240Hz monitors by zowie scares me :)

stirner
Posts: 74
Joined: 07 Aug 2014, 04:55

Re: Nvidia and CS GO Lowest Input LAG

Post by stirner » 13 Nov 2016, 19:57

One thing that could be added is that you should use the "Gaming Mode" or "FPS Mode" or whatever they call it on your monitor. Not sure that's a thing on "gaming" 120+Hz monitors as I do use a CRT, but that reduces latency by disabling any fancy processing stuff the monitor otherwise might apply to the image.

While r0ach's stuff mostly is BS, I do believe in system optimization in terms I can measure: USB polling precision, frametime variance, DPC latency. It does get noticably more crisp if you care to tweak stuff around there. That's why I cap framerate too; I'd rather have two or three milliseconds more latency on a rock-stable framerate than fluctuating 200-400fps.

And I'm actually guilty of using a ~15ms debounce mouse (OMB) - it's a compromise I'm willing to make as no other mouse has convinced me. But my OMB is falling apart now (the click mount broke, I've kind of fixed it but it's not optimal) and I don't really want to switch back to WMO/IMO/IME or G400 as they never agreed with my grip. Either I find a new OMB or I hope the G102 performs and fits my grip well. I miss sidebuttons. Although the G102 presumably has ~5ms click latency itself.

Post Reply