Importance of low input lag
- "While participants performed dragging and scribbling tasks, very low levels of latency could be discriminated, i.e., ~1 versus 2 milliseconds while dragging".
- Visual demonstration of 1 vs. 10 milliseconds
- "The average difference in aiming task completion (the time it takes to acquire and shoot a target) between a 12ms and 20ms PCs was measured to be 182ms - that is about 22 times the system latency difference."
- "In all studies, the trend shows continued improvements all the way toward zero latency."
- "In the first part, perceptual user experience under different jitter levels was examined using the ISO 4120:2004 triangle test protocol, and a jitter of over 0.3 ms could be perceived by sensitive subjects."
- Summary in the form of an infographic
- "What Frame Rate is Needed to Simulate Reality?"
Disclaimer
- Due to the sheer complexity of hardware and software and differences between various architectures, your mileage may vary. However, it is useful to be aware of things that can impact user experience and adjust them according to your needs.
- Create a personal document and keep track of everything you do. Adopt a systematic approach with proper testing methodologies, instead of just blindly changing many settings at once. Some settings are trade-offs between latency and frame time consistency / graphics quality. Some settings may not show a visible impact at first due to other bottlenecks.
Data Collection
- FrameView and PresentMon can measure both frame times and PC Latency. You can upload the CSVs here to visualize the frame time data, or here to visualize the PC Latency data. FrameView's PC Latency metric is only available in supported games.
Physical setup
- Do not daisy-chain power cables. Be careful not to short the loose ends if you have any.
- Mount your AIO cooler properly.
- Keep your PC clean. Clogged heat sinks and dust filters will reduce airflow and consequently heat dissipation. Furthermore, "dust may cause electrical leakage, shorting and opening of PCBs under different conditions".
- Check the USB layout of your system with USB Device Tree Viewer. Avoid ports that are connected to nested hubs. Ryzen CPUs have a dedicated USB controller. Check your motherboard's manual or HWiNFO to find out which ports are routed directly to the CPU.
- If your motherboard has multiple USB controllers, offload your other devices to them. Lower the polling rate of low-priority devices to an acceptable level, if possible (1).
- Cable type and ports can potentially produce different results (1 2) (don't Plug & Play these). Don't cheap out on cables. Both HDMI and DisplayPort have certification programs.
- Electromagnetic interference and issues with the electrical installation (e.g., ground loops) can cause unintended behavior of electronic components, potentially increasing input lag (1 2).
Here are some resources: 1 2
- "EMC tests were developed to make them easier to perform, provide better repeatability from one lab to another, and reduce testing costs. But even though the EUT may pass its EMC tests, it still may fail when it's put into service. Laboratory tests performed in accordance with the standards are not adequate to guarantee that an EMC failure will not occur during actual operation because the tests do not represent the operational EME."
Here are some examples: 1 2 3 4 5 6 7 8 9 10 11 12 13
- Make sure your home is properly grounded. TT systems are preferred due to low interference (1 2 3).
- Avoid unnecessarily long cables and prefer thick shielded ones.
- Disconnect everything you don't use from your motherboard to minimize the risk of coupling and interference. E.g., front USB, front audio, (RGB) LEDs (1 2), hard drive activity LED, system power LED, reset button etc.
- Move all devices that have electromagnetic fields away from your PC and peripherals. E.g., router, power strip/conditioner, voltage regulator etc.
"A typical PC can be upset with an electric field strength of 48 V/m, whereas an unshielded PC board requires about 9 V/m."
- Make sure there is enough space between your cables (1 2 3 4 5) and untangle them. This applies to everything, including power and peripheral cables.
Peripherals
- Turn off (RGB) LEDs since USB current output is very limited (USB 2: 0.5 A, USB 3: 0.9 A). Moreover, "running an RGB effect/animation can take a great toll on the MCU. It requires a lot of processing power and will delay other processes." (1 2)
-
Mouse
-
Wired vs. Wireless
- The convenience of cordless mice is very appealing. However, there are significant drawbacks. Nowadays, 2.4 GHz is everywhere, causing a lot of interference. Additionally, the inherent transmission overhead and aggressive power saving mechanisms (1 2) affect both motion (1 2 3 4 5 6 7 8 9 10 11) and click latency.
-
DPI
- Depending on your mouse, preferred cm/360°, mouse pad and FOV in games, you may want to experiment with different DPI. Higher DPI reduces the latency between hand motion and the sensor acknowledging a change (1 2 3 4) and improves motion clarity and accuracy (1 2 3 4). Beware of smoothing and other jitter reduction technologies kicking in at various thresholds. To counteract the increased sensitivity on the Desktop and in game menus, you can adjust the Windows sensitivity.
- Windows Sensitivity Calculator
- Finding your individual approximate point of diminishing returns (taking 1000 Hz as example):
- Run MouseTester and move your mouse unidirectionally at a velocity similar to your slowest realistic tracking speed.
- Set the graph to Interval vs. Time.
- Values greater than or equal to 2 ms indicate that the mouse hasn't reported motion data in the previous value - 1 poll(s) (assuming other factors such as system or interference have been ruled out).
- Raise your DPI until all polls contain motion data.
-
Polling rate
- Higher polling rate reduces latency and improves motion clarity (1 2).
- How to disable Interrupt Moderation
-
Lens cleaning
- A balloon pump will do the job without risking physical damage to the polycarbonate lens (1 2 3).
-
Monitor
BIOS
- Generally, follow the principle of "Don't use it? Disable it." E.g., disable all power saving features, unused network/audio/SATA controllers, unused USB/PCI/DIMM/SATA ports, (RGB) LEDs that can't physically be disconnected etc.
- UEFI Editor
- How to change hidden settings without flashing a modded BIOS
-
Optimization guides
- Fujitsu guide
- Congatec guide
Hardware clocking
- I called this category clocking rather than overclocking because in the end all you do is run your components at their safe capabilities (which may not always be overclocking due to temperature, for example).
- A stable system should be able to run anything indefinitely. A single error is one too many.
- When raising clocks, always benchmark every change and verify that the performance scales positively and the variation is very low. Due to error correction, higher clocks may not cause errors in stress tests but can result in "identical" performance, worse performance or higher variation.
- Beware of degradation by high voltage, temperature and current.
- GPU and ambient temperature (e.g., summer vs. winter) will significantly impact memory temperature. Here are some things you can do while stress testing to simulate a more realistic scenario:
- Run a GPU heat generator.
- Mount a hair dryer to blow hot air on the memory.
- Turn off case fans.
- Turn up room heaters.
- Avoid monitoring programs (e.g., HWiNFO) while stress testing, since they have a large performance impact.
- CPU and RAM should be treated as one unit and adjusted and stress tested together.
- Resources: 1 2 3
-
Stress testing
- StresKit
- Memory
- Test with a variety of programs/configs, since the algorithms differ. One may not fail at all, while another may fail within minutes.
-
GPU (NVIDIA)
-
Temperature
- "Charge leakage rate of DRAM cells approximately doubles for every 10°C increase in the temperature".
- "The load has increased the main board temperature by 5 deg. (centigrade scale) only, but the influence to the measured performance counter frequency is quite considerable."
- "According to a report on reliability prediction of electronic equipment prepared by the U.S. Department of Defense, the failure factor, which is relative failure rate at any temperature over failure rate at 75 °C, increases exponentially with increasing the device temperature as demonstrated in Fig. 3. Pedram and Nazarian also reported that more than 50% of all integrated circuit (IC) failures are related to thermal issues. Thus a rule of thumb is that the failure rate of electronic components can be halved for each 10 °C reduction in their junction temperature and the cooler the devices operate, the more reliable they are."
- "The operating leakage current of an aluminium electrolytic capacitor with non-solid electrolyte is extremely dependent on the temperature and voltage."
- Conclusion: Maintaining near ambient temperature of components is desirable.
-
Controlling temperature
- Manually set voltages and clocks of all components.
- Use zip-ties to extend fans over VRMs, RAM and PCH. Avoid CPU air coolers due to incompatibility with dedicated VRM and RAM cooling.
- Liquid cool all components (expensive).
Windows
- The never-ending background bloat of Windows reduces performance significantly (1 2 3).
Note: I am not advocating using pre-made ISOs; on the contrary, you should make your own.
- I highly recommend setting up a multi-boot environment to separate the gaming and the "can-be-bloated" operating system. Keeping your programs and files on a different partition (separate from operating system partitions) is also convenient due to all operating systems having shared access to everything and the ease of reinstalling either of them without having to back up your data.
- As usual, disable everything you don't explicitly need and avoid installing unnecessary and bloated drivers (included in, e.g., Realtek audio or gaming peripheral software).
- A lot of the default system tools lack functionality. For example, the Task Manager is an inaccurate representation of system load since it only displays Core usage on a very superficial level. It doesn't account for things like context switching, which can be very expensive.
Here are some supplements for various system tools (Sysinternals and Nirsoft have a lot more):
- Task Manager: Process Explorer with modified settings
- Startup section of Task Manager: Autoruns
- Services: Serviwin
- Device Manager: DevManView
- NVIDIA Profile Inspector exposes a lot of settings that are hidden from the control panel.
- Whenever possible, use portable versions of programs. Sometimes installers come with background services/drivers which may run even if the program is not running.
-
Optimization guides
- Calypto's guide
- Timecard's guide
- PC-Tuning
-
ISO creation
- NTLite
- Drivers (mostly relevant for W7) & driver integration guide
- Rufus / Ventoy
-
ISO sources
- Always check the legitimacy of ISOs by comparing hashes -> Heidoc's hash archive / Adguard's hash archive
- Genuine Installation Media
- OS.click
- Adguard
- KichHoatBanQuyen's list
- Unknown list
- MSDN file server
Tools & resources
My Twitter
Keywords for Google indexing (ignore this)
input lag latency optimization performance gaming overclock oc windows ping debloat milliseconds fps boost increase decrease guide mouse tweak tweaks bios uefi pc overclocking 7 8.1 8 10 11 w7 w8 w8.1 w10 w11 linux game gamer optimizations frametime frametimes 0.1 1 1080p 720p reaction time vrt average avg minimum maximum min max tweaking fortnite overwatch apex call of duty cs:go csgo cs2 deadlock dota league of legends valorant rocket league rainbow six pubg super people warzone halo infinite tarkov rust starcraft destiny ow fn cod lol kovaak aim trainer krunker battlefield bf roblox super smash bros delay delayed bloat bloated debloated steam battle origin epic games quake counter strike battle royale br intel nvidia pascal turing ampere reflex amd ati ryzen r9 r7 r5 r3 radeon rdna core i9 i7 i5 i3 memory ram gpu ssd nvme psu power supply emi emf emc ef power electricity coupling interference dpc isr rla reflex latency analyzer