Saturday, June 14, 2014

[Guide] Tweaking the setting to get less input lag in games

Couple of days ago I came across a thread in OCN (click here to check it out) that talked about the things you could do to lower the input lag of your PC. Why should you care? Because less input lag translates to a smoother gaming experience. You might be getting 120FPS or more, but it still could feel choppy if you have a high input lag.

While I have a decent PC with me (right?), I have been having similar issues with Crysis 3 multiplayer (click here to go to my Crysis 3 game play videos on YouTube), which is pretty much the only game that I play regularly. It didn’t feel smooth at all. I had some hard time aiming and it drove me insane. This happened even with a reasonably high refresh rate of 96Hz. It seemed weird why I would get a lag at such a refresh rate even when the frame rate wasn't dipping below the refresh rate. Naturally, I blamed the wireless mouse at first. But it seemed that I had been having some DPC latency issues. And some of the things this guy mentioned, helped me to dramatically improve responsiveness in Crysis 3, even with massive ping times.

Few of the things that the guy suggested can be considered hardcore. Things such as uninstalling the Keyboard/Mouse software is a big no no. I need the ability to remap the keys of the mouse and the keyboard in difference apps. Further, disabling the virus guard and Anti-Spyware software is not a wise thing to do.

I performed a lot of changes in the UEFI that he suggested. The biggest change to the DPC Latency was caused by disabling HPET (High Precision Event Timer). But I kept the USB 3.0 settings in tact. Besides, I had disabled a lot of things that I didn’t use anyways.

He also suggested disabling all the power saving features of the CPU. Some people do that when they overclock the CPU but I have never turned off the power saving options with any of the CPUs. Besides,  it is impossible for the CPU to be in a low power state when you are inside a game. But the clock rate fluctuations might cause stuttering, so I just disabled it. But I wanted to see how much power the CPU will use if I disabled all the power saving features (that is the C states) and it amounted to like 25W when I checked it through AISuite. Usually when all the power saving features are ON, it could even go down to 1W. This didn't change regardless of whether I had dynamic clock scaling (turbo boost) enabled or disabled or whether I had EIST enabled or disabled. So I disabled both so that the clock speed doesn't fluctuate. I further set the power settings to "High Performance" in Windows Power Management section. However, since C states are still enabled, there is a small lag when the CPU comes from a power saving state to the fully operational state. But like I said, this should not cause any issues once you get inside a game.


I did some of the tweaks on the NVidia control panel. But I kept the Power Management Mode at the default “Adaptive” mode. Since I have the power target set to max, no game would keep the GPU clocks from reaching the max clocks. The highest power draw I’ve seen so far is like 108% over the original TDP limit. And at the same time, it would drop the clock to 2D idle clocks when I'm not doing anything that taxes the GPU. I also disabled V-Sync which is a legendary input lag creator. Besides, only in a very few games will I be able to sync the frame rate with the refresh rate of 96Hz at 1440p with my aging GTX 670.


When it comes to software, there are loads of things that I have to get rid of, especially the services such as the ones created by iTunes and AISuite. This would require me to find alternatives to some of the main software that I use. I'll be successful with some. But I'm sure I won't be able to get rid of them all. But the search continues.

There is something else that the original post doesn’t discuss about. It’s switching the interrupt mode from “Line Based Interrupts” to “Message-Signal Based Interrupts”. You can read about it on this post. I’ve managed to switch some of the PCI devices from MSI mode. Some didn’t switch unfortunately. This is where my system now stands.


But I’m so happy with the results I’ve managed to achieve so far, in terms of DPC Latency. I have managed to reduce it to less than 20ms when idle. I would be very happy if I manage to get rid of the bloat-ware as well.


No comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...