Editing Input lag

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 2: Line 2:
  
 
;Before diving in, let's distinguish between four key terms. Display lag, input lag, system latency, and [https://old.reddit.com/r/apexlegends/comments/f02vxz/apex_netcode_still_worst_of_all_brs/ netcode/network lag]. They might sound similar, but they affect your experience in different ways. While display and system lag can subtly influence input lag, it's crucial not to mix them up.
 
;Before diving in, let's distinguish between four key terms. Display lag, input lag, system latency, and [https://old.reddit.com/r/apexlegends/comments/f02vxz/apex_netcode_still_worst_of_all_brs/ netcode/network lag]. They might sound similar, but they affect your experience in different ways. While display and system lag can subtly influence input lag, it's crucial not to mix them up.
:''See GamersNexus: [https://www.youtube.com/watch?v=Fj-wZ_KGcsg Framerate Isn't Good Enough: Latency Pipeline, "Input Lag," Reflex, & Engineering Interview] and [https://youtu.be/C_RO8bJop8o Fixing GPU & CPU Benchmarks: Introducing Animation Error] videos for more information about some of these''.
 
  
 
==Causes==
 
==Causes==
Line 18: Line 17:
  
 
===Input===
 
===Input===
[[File:Keyboard Switches demonstration.gif|thumb|298px|[https://thegamingsetup.com/gaming-keyboard/buying-guides/keyboard-switch-chart-table actuation force] demonstration, see [https://www.x360ce.com/Keyboards this page]]]
+
[[File:Keyboard Switches demonstration.gif|thumb|298px|[https://thegamingsetup.com/gaming-keyboard/buying-guides/keyboard-switch-chart-table actuation force] demonstration]]
 
When it comes to delay of input devices most important thing usually is [[Wikipedia:Keyboard_controller_(computing)|input controllers]] (ASICS/MCU/[[Wikipedia:Embedded_controller|ECs]]), [[#External_Links|sensors]] and [[Wikipedia:Miniature_snap-action_switch|switches]] including [https://deskthority.net/wiki/Category:Keyboard_switches_by_design switch designs]. Wired/wireless usually doesn't matter ([https://kanuan.github.io/DS4WSite/troubleshooting/input-delay-bt/ unless its Bluetooth with power saving mode]); the thing that really matter is "[https://forums.blurbusters.com/viewtopic.php?t=6162&start=10#p55425 consistency about polling rate]"; polling rate fluctuations cause stutters and unstable input device feedback to users. When it comes to wireless technology "consistency" may be affected by lots of environmental factors.
 
When it comes to delay of input devices most important thing usually is [[Wikipedia:Keyboard_controller_(computing)|input controllers]] (ASICS/MCU/[[Wikipedia:Embedded_controller|ECs]]), [[#External_Links|sensors]] and [[Wikipedia:Miniature_snap-action_switch|switches]] including [https://deskthority.net/wiki/Category:Keyboard_switches_by_design switch designs]. Wired/wireless usually doesn't matter ([https://kanuan.github.io/DS4WSite/troubleshooting/input-delay-bt/ unless its Bluetooth with power saving mode]); the thing that really matter is "[https://forums.blurbusters.com/viewtopic.php?t=6162&start=10#p55425 consistency about polling rate]"; polling rate fluctuations cause stutters and unstable input device feedback to users. When it comes to wireless technology "consistency" may be affected by lots of environmental factors.
  
 
See [[Input_lag#External_Links|these websites]] for various controllers and keyboard/mouse devices for input lag performance benchmarks.
 
See [[Input_lag#External_Links|these websites]] for various controllers and keyboard/mouse devices for input lag performance benchmarks.
  
* Back in the days some people claim that [[Wikipedia:DIN_connector|DIN/mini-DIN connection]] keyboards and mice give better results compared to cheap [[Wikipedia:USB|USB connection]] peripherals due to the nature of the technology. Although this is far from the truth [https://forums.blurbusters.com/viewtopic.php?t=8411#p65756 it has better handling of the data], whereas the USB busses can be more easily interrupted etc (kinda similar to wired/wireless polling consistency situation mentioned above).
+
* Back in the days some people claim that [[Wikipedia:DIN_connector|DIN/mini-DIN connection]] keyboards and mice give better results compared to cheap [[Wikipedia:USB|USB connection]] peripherals due to the nature of the technology. Although this is far from the truth [https://forums.blurbusters.com/viewtopic.php?t=8411#p65756 it has better handling of the data], whereas the USB busses can be more easily interrupted etc.
 
:: [https://www.youtube.com/watch?v=eEswl6kZq5k Battle(non)sense: Keyboard Input Lag 125, 250, 500, 1000Hz USB vs. PS/2]
 
:: [https://www.youtube.com/watch?v=eEswl6kZq5k Battle(non)sense: Keyboard Input Lag 125, 250, 500, 1000Hz USB vs. PS/2]
  
Line 44: Line 43:
 
:;Option 1
 
:;Option 1
 
*[[Display FAQ#CRT TVs|CRT TV]] OR [[Display_FAQ#CRT_monitors|VGA CRT]] (not [[Display FAQ#CRT TVs|HD CRTs]]) with analog input/output. If your GPU only support digital output then use [https://old.reddit.com/user/ahayriSG/comments/16q18h6/highend_dacs_for_crts/ high-end DAC/Digital-to-Analog converters] for higher resolutions and refresh rates (Keep in mind that HDMI ones generally [https://youtu.be/WIDeNItt69s?t=1885 pretty bad]). But what about digital-to-analog conversion input lag? See Aperture Grille's video about [https://youtu.be/puu-iyTsZtg?t=840 testing GPU-Passthrough and cheap DAC input lag results]. Also see [https://hardforum.com/threads/24-widescreen-crt-fw900-from-ebay-arrived-comments.952788/page-435#post-1044652495 this thread] for more information about high-end DACs.
 
*[[Display FAQ#CRT TVs|CRT TV]] OR [[Display_FAQ#CRT_monitors|VGA CRT]] (not [[Display FAQ#CRT TVs|HD CRTs]]) with analog input/output. If your GPU only support digital output then use [https://old.reddit.com/user/ahayriSG/comments/16q18h6/highend_dacs_for_crts/ high-end DAC/Digital-to-Analog converters] for higher resolutions and refresh rates (Keep in mind that HDMI ones generally [https://youtu.be/WIDeNItt69s?t=1885 pretty bad]). But what about digital-to-analog conversion input lag? See Aperture Grille's video about [https://youtu.be/puu-iyTsZtg?t=840 testing GPU-Passthrough and cheap DAC input lag results]. Also see [https://hardforum.com/threads/24-widescreen-crt-fw900-from-ebay-arrived-comments.952788/page-435#post-1044652495 this thread] for more information about high-end DACs.
::Use Custom resolution/CRTSwitchRes solutions for displaying it on a CRT display in the correct resolutions. You could use built-in Custom resolution/CRTSwitchRes solutions like RetroArch's [https://docs.libretro.com/guides/crtswitchres/ CRTSwitchRes] or [[GroovyMAME]] using with [http://geedorah.com/eiusdemmodi/forum/viewtopic.php?pid=1009#p1009 CRT emudriver] which is much more practical compared to using EDID editor tools such as [[Displays#240p.2F480i|Custom Resolution Utility (CRU)]] or using Linux in KMS mode<ref>https://wiki.archlinux.org/index.php/kernel_mode_setting</ref><ref>https://docs.libretro.com/guides/kms-mode/</ref>. See [https://emulation.gametechwiki.com/index.php?search=%22%23Enhancements|Enhancements%22&title=Special%3ASearch&limit=500&profile=default&fulltext=1 #Enhancements sections] in each page for "built-in custom resolution/CRTSwitchRes" support for emulators.
+
::Use Custom resolution/CRTSwitchRes solutions for displaying it on a CRT display in the correct resolutions. You could use built-in Custom resolution/CRTSwitchRes solutions like RetroArch's [https://docs.libretro.com/guides/crtswitchres/ CRTSwitchRes] or [[GroovyMAME]] using with [http://geedorah.com/eiusdemmodi/forum/viewtopic.php?pid=1009#p1009 CRT emudriver] which is much more practical compared to using EDID editor tools such as [https://www.monitortests.com/forum/Thread-Custom-Resolution-Utility-CRU Custom Resolution Utility (CRU)] or using Linux in KMS mode<ref>https://wiki.archlinux.org/index.php/kernel_mode_setting</ref><ref>https://docs.libretro.com/guides/kms-mode/</ref>. See [https://emulation.gametechwiki.com/index.php?search=%22%23Enhancements|Enhancements%22&title=Special%3ASearch&limit=500&profile=default&fulltext=1 #Enhancements sections] in each page for "built-in custom resolution/CRTSwitchRes" support for emulators.
 
:;Option 2
 
:;Option 2
 
*[[#External_Links|Fast-TN or IPS panel LCD or fast-OLED display]], also make sure that you mitigate input lag on [[Displays#LCD_monitors|LCDs]] and [[Displays#OLED_TVs_and_Monitors|OLEDs]] by turning on "game mode" from display OSD if available (this will turn off some post-processing options on display). If your LCD display is old set your [https://www.youtube.com/watch?v=Qdp7VfLXnB4&t=279s native resolution to native panel resolution] for preventing possible poor quality hardware display scaler otherwise you can use [https://forums.blurbusters.com/viewtopic.php?t=6155#p46190 GPU scaling] if you have at least mid range GPU.
 
*[[#External_Links|Fast-TN or IPS panel LCD or fast-OLED display]], also make sure that you mitigate input lag on [[Displays#LCD_monitors|LCDs]] and [[Displays#OLED_TVs_and_Monitors|OLEDs]] by turning on "game mode" from display OSD if available (this will turn off some post-processing options on display). If your LCD display is old set your [https://www.youtube.com/watch?v=Qdp7VfLXnB4&t=279s native resolution to native panel resolution] for preventing possible poor quality hardware display scaler otherwise you can use [https://forums.blurbusters.com/viewtopic.php?t=6155#p46190 GPU scaling] if you have at least mid range GPU.
Line 57: Line 56:
 
'''1.''' Use exclusive fullscreen for Windows 8 and onwards if available because with borderless windowed and windowed fullscreen, due to [[Wikipedia:Windows_Display_Driver_Model#WDDM_1.2|WDDM 1.2]] the desktop composition cannot be disabled anymore, so your only hope to avoid the compositing lag penalty is to play in exclusive fullscreen mode.
 
'''1.''' Use exclusive fullscreen for Windows 8 and onwards if available because with borderless windowed and windowed fullscreen, due to [[Wikipedia:Windows_Display_Driver_Model#WDDM_1.2|WDDM 1.2]] the desktop composition cannot be disabled anymore, so your only hope to avoid the compositing lag penalty is to play in exclusive fullscreen mode.
  
'''2.''' Turn off digital image processing and [https://youtu.be/NzYvudM9BmI?t=723 frame generation] options from [https://www.pcgamingwiki.com/wiki/Category:Graphics_Adaptor GPU driver control panel] if it cause additional/noticeable input delay, some of the frame generation technologies can noticeably affect input delay, either positively or negatively, depending on the specific technique used[https://blurbusters.com/frame-generation-essentials-interpolation-extrapolation-and-reprojection]. Also if you're using intensive one turn off post-processing effects from applications/emulators and [https://www.pcgamingwiki.com/wiki/Category:Graphics_Adaptor GPU driver control panel].
+
'''2.''' Turn off digital image processing and [https://youtu.be/NzYvudM9BmI?t=723 frame generation] options if it cause additional input delay, [https://blurbusters.com/frame-generation-essentials-interpolation-extrapolation-and-reprojection some of the frame generation technologies] use techniques that affect input delay noticeably. If you're using intensive one turn off post-processing effects from applications/emulators and [https://www.pcgamingwiki.com/wiki/Category:Graphics_Adaptor GPU driver control panel].
 
:'''2.1.''' Turn on DLSS/FSR upscaling technologies [https://youtu.be/-ajK3netvv4?t=173 if it increases your framerate which will likely decrease your latency].
 
:'''2.1.''' Turn on DLSS/FSR upscaling technologies [https://youtu.be/-ajK3netvv4?t=173 if it increases your framerate which will likely decrease your latency].
  
Line 81: Line 80:
  
 
==External Links==
 
==External Links==
*[https://inputlag.science/ inputlag.science] - repository of knowledge about input lag in gaming
+
[https://inputlag.science/ inputlag.science] - repository of knowledge about input lag in gaming<br/>
*[https://docs.google.com/spreadsheets/d/1XvuDUHluuqDJ0DmF_PrWIjsLBgeg8CKVlL0w_Cyguxk/edit#gid=1101422075 Run-Ahead Wiki]
+
[https://docs.google.com/spreadsheets/d/1XvuDUHluuqDJ0DmF_PrWIjsLBgeg8CKVlL0w_Cyguxk/edit#gid=1101422075 Run-Ahead Wiki]<br/>
*[https://sensor.fyi/mice/ Mouse devices sensor list]
+
[https://sensor.fyi/mice/ Mouse devices sensor list]<br/>
*[https://old.reddit.com/user/DestinyXZ9/submitted/ DestinyXZ9's investigations about input lag in various emulators]
+
[https://old.reddit.com/user/DestinyXZ9/submitted/ DestinyXZ9's investigations about input lag in various emulators]<br/>
*[https://www.rtings.com/monitor/tests/inputs/input-lag RTINGS: Input Lag of Monitors]
+
[https://www.rtings.com/monitor/tests/inputs/input-lag RTINGS: Input Lag of Monitors]<br/>
*[https://www.rtings.com/tv/tests/inputs/input-lag RTINGS: Input Lag of TVs]
+
[https://www.rtings.com/tv/tests/inputs/input-lag RTINGS: Input Lag of TVs]<br/>
*[https://www.rtings.com/monitor/tests/motion/motion-blur-and-response-time RTINGS: Pixel Response Time of Monitors]
+
[https://www.rtings.com/monitor/tests/motion/motion-blur-and-response-time RTINGS: Pixel Response Time of Monitors]</br>
*[https://www.rtings.com/tv/tests/motion/motion-blur-and-response-time RTINGS: Pixel Response Time of TVs]
+
[https://www.rtings.com/tv/tests/motion/motion-blur-and-response-time RTINGS: Pixel Response Time of TVs]</br>
*[https://tftcentral.co.uk/reviews_index TFTCentral: Reviews and Input Lag analysis of Monitors]
+
[https://tftcentral.co.uk/reviews_index TFTCentral: Reviews and Input Lag analysis of Monitors]<br/>
*[https://www.aperturegrille.com/reviews/ ApertureGrille: Reviews and Input Lag analysis of Monitors]
+
[https://www.aperturegrille.com/reviews/ ApertureGrille: Reviews and Input Lag analysis of Monitors]<br/>
*[https://docs.google.com/spreadsheets/d/1KlRObr3Be4zLch7Zyqg6qCJzGuhyGmXaOIUrpfncXIM/edit#gid=0 Controller latency on MiSTer]
+
[https://docs.google.com/spreadsheets/d/1KlRObr3Be4zLch7Zyqg6qCJzGuhyGmXaOIUrpfncXIM/edit#gid=0 Controller latency on MiSTer]<br/>
*[https://www.youtube.com/watch?v=ahsO5bhBUtk Rocket Science: Controller Input Lag comparison video]
+
[https://www.youtube.com/watch?v=ahsO5bhBUtk Rocket Science: Controller Input Lag comparison video]<br/>
*[https://www.rtings.com/mouse/tests/control/latency RTINGS: Mouse Click Latencies]
+
[https://www.rtings.com/mouse/tests/control/latency RTINGS: Mouse Click Latencies]<br/>
*[https://www.rtings.com/mouse/tests/control/cpi RTINGS: Mouse CPI and Speed-Related Accuracy Variation/SRAV results]
+
[https://www.rtings.com/mouse/tests/control/cpi RTINGS: Mouse CPI and Speed-Related Accuracy Variation/SRAV results]<br/>
*[https://www.rtings.com/mouse/tests/control/sensor-latency RTINGS: Mouse sensor latencies]
+
[https://www.rtings.com/mouse/tests/control/sensor-latency RTINGS: Mouse sensor latencies]<br/>
*[https://www.rtings.com/keyboard/tests/latency RTINGS: Keyboard Latencies]
+
[https://www.rtings.com/keyboard/tests/latency RTINGS: Keyboard Latencies]<br/>
*[https://mousespecs.org/mouse-click-latencies/ mousespecs: Mouse Click Latencies]
+
[https://mousespecs.org/mouse-click-latencies/ mousespecs: Mouse Click Latencies]<br/>
*[https://www.anandtech.com/show/2803 Derek Wilson/AnandTech: Exploring Input Lag Inside and Out]
+
[https://www.anandtech.com/show/2803 Derek Wilson/AnandTech: Exploring Input Lag Inside and Out]<br/>
*[https://blurbusters.com/gsync/preview2/ BlurBusters: Preview of NVIDIA G-SYNC, Part #2 Input Lag]
+
[https://blurbusters.com/gsync/preview2/ BlurBusters: Preview of NVIDIA G-SYNC, Part #2 Input Lag]<br/>
*[https://www.retrorgb.com/bsnes-runahead-mode-lag-tested.html RetroRGB: BSNES Runahead Mode Lag Tested]
+
[https://www.retrorgb.com/bsnes-runahead-mode-lag-tested.html RetroRGB: BSNES Runahead Mode Lag Tested]<br/>
*[https://www.youtube.com/@RocketJumpNinja/videos Rocket Jump Ninja] - YouTube channel dedicated to mouse reviews
+
[https://www.youtube.com/@RocketJumpNinja/videos Rocket Jump Ninja] - YouTube channel dedicated to mouse reviews</br>
*[https://www.youtube.com/@BattleNonSense/videos Battle(non)sense] - YouTube channel dedicated to analysing netcode performance of games and testing input lag, system responsiveness etc.
+
[https://www.youtube.com/@BattleNonSense/videos Battle(non)sense] - YouTube channel dedicated to analysing netcode performance of games and testing input lag, system responsiveness etc.<br/>
*[https://www.youtube.com/@FR33THY/videos FR33THY] - YouTube channel dedicated to computer hardware and peripherals for testing input lag and system responsiveness etc.
+
[https://www.youtube.com/@FR33THY/videos FR33THY] - YouTube channel dedicated to computer hardware and peripherals for testing input lag and system responsiveness etc.<br/>
*[https://github.com/hrydgard/ppsspp/issues/17685 PPSSPP: Input lag too high, ideas for improvement]
+
[https://github.com/hrydgard/ppsspp/issues/17685 PPSSPP: Input lag too high, ideas for improvement]<br/>
*[https://forums.libretro.com/t/an-input-lag-investigation/4407 Brunnis: An input lag investigation]
+
[https://forums.libretro.com/t/an-input-lag-investigation/4407 Brunnis: An input lag investigation]
*[https://sites.google.com/view/noodallsinputlagtestingresults/video-interrupt-method-results noodalls Input Lag Testing Results]
 
  
 
[[Category:FAQs]]
 
[[Category:FAQs]]

Please note that all contributions to Emulation General Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Emulation General Wiki:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)

Template used on this page: