Jump to content

  • Curse Sites
Help

Reduce Input Lag?


  • Please log in to reply
14 replies to this topic

#1 Woundman

Woundman
  • Moderators
  • Curse Premium
  • Posts: 312

Posted 02 May 2013 - 01:52 AM

I'm trying to figure out what reduce input lag does exactly. How does it reduce input lag?

Thanks!

#2 Thaya

Thaya
  • Moderators
  • Posts: 2085
  • LocationRussia

Posted 02 May 2013 - 01:56 AM

Doesn't that option exist only with vsync?
Default UI Scripts - Compilation & how-to

#3 Woundman

Woundman
  • Moderators
  • Curse Premium
  • Posts: 312

Posted 02 May 2013 - 01:59 AM

Nope, it's always in the advanced section. It works with or without vsync enabled from my testing (lower fps enabled/disabled). I'm curious how it reduces input lag.

#4

  • Junkies
  • Humanclass_name
  • EU-Outland
  • Misery
  • Talents: Fire 0/2/2/2/1/2
  • RBG: 2573

Posted 02 May 2013 - 02:01 AM

Me 2, will love to read this + rep for bringing the question up.

#5 Conviqx

Conviqx
  • Conviq
  • Junkies
  • Humanclass_name
  • EU-Outland
  • Misery
  • Posts: 263
  • Talents: Subtlety 1/2/2/0/0/1
  • LocationBelgium

Posted 02 May 2013 - 02:07 AM

does it mean that if it would reduce input lagg, my interrupts actually hit when i press it, or what is it
http://www.twitch.tv/conviq

Dost Thou Even Hoist?

#6 Apsco60

Apsco60
  • Junkies
  • Orcclass_name
  • US-Illidan
  • Rampage
  • Posts: 155
  • Talents: Beast Mastery 1/0/1/2/1/0

Posted 02 May 2013 - 02:20 AM

View PostConviqx, on 02 May 2013 - 02:07 AM, said:

does it mean that if it would reduce input lagg, my interrupts actually hit when i press it, or what is it

You miss kicks because you blow.

#7 Conviqx

Conviqx
  • Conviq
  • Junkies
  • Humanclass_name
  • EU-Outland
  • Misery
  • Posts: 263
  • Talents: Subtlety 1/2/2/0/0/1
  • LocationBelgium

Posted 02 May 2013 - 02:48 AM

View PostApsco60, on 02 May 2013 - 02:20 AM, said:

You miss kicks because you blow.

i wont say anything back cuz it'll get deleted anyway

the internet, where boys can be men
http://www.twitch.tv/conviq

Dost Thou Even Hoist?

#8 Thaya

Thaya
  • Moderators
  • Posts: 2085
  • LocationRussia

Posted 02 May 2013 - 03:18 AM

View PostWoundman, on 02 May 2013 - 01:59 AM, said:

Nope, it's always in the advanced section. It works with or without vsync enabled from my testing (lower fps enabled/disabled). I'm curious how it reduces input lag.
Are you sure it doesn't simply enable vsync when turned on? i.e. check if your FPS locks down to 60 while being in some place where it's way above 60 (just stare into a wall or something).

If it has nothing to do with vsync for sure, I can only imagine it doing one thing: limiting or killing off frame buffering completely, i.e. forcing the game to never render frames ahead. This will drastically affect FPS on most systems, frame queueing is a core component of all graphic systems (and it'll still exist on a hardware level anyway). You can probably verify if this is the case by turning vsync and triple buffering on, going somewhere where your FPS isn't locked at 60, and then turning the option on/off to see if it affects your FPS in any way - triple buffering won't do shit if no frames are being buffered.

If you're just interested in the whole input lag and frame queueing subject, you should google those two terms as well as vsync and double/triple buffering. All of it is pretty easy to understand, it's just about how video cards draw and send frames to the screen. High input lag can be caused by a lot of other things too, but nearly all of those would affect the whole system, not just 3D applications.
Default UI Scripts - Compilation & how-to

#9 Woundman

Woundman
  • Moderators
  • Curse Premium
  • Posts: 312

Posted 02 May 2013 - 04:14 AM

View PostThaya, on 02 May 2013 - 03:18 AM, said:

Are you sure it doesn't simply enable vsync when turned on? i.e. check if your FPS locks down to 60 while being in some place where it's way above 60 (just stare into a wall or something)

Positive. It does something else. All the information I can find on it is: http://www.wowpedia.org/CVar_gxFixLag

If anyone can find a helpful blue post or something on it, that would be awesome. I'm still searching around, haven't found anything significant yet. Or better yet, a tool to test input lag would be awesome. :P

#10 Thaya

Thaya
  • Moderators
  • Posts: 2085
  • LocationRussia

Posted 02 May 2013 - 05:01 AM

View PostWoundman, on 02 May 2013 - 04:14 AM, said:



Positive. It does something else. All the information I can find on it is: http://www.wowpedia.org/CVar_gxFixLag

If anyone can find a helpful blue post or something on it, that would be awesome. I'm still searching around, haven't found anything significant yet. Or better yet, a tool to test input lag would be awesome. :P
Ahh, since it has to do with mouse, it's probably about switching to raw input:

http://msdn.microsof...4(v=vs.85).aspx

That still doesn't answer why does it affect FPS in any way at all, however. From my experience with CS and Quake, enabling raw input never reduced FPS, and it's much more important there to have fluid mouse control. Maybe it's because hardware mouse enables RawInput, and the smooth mouse variable enables DirectInput on top of it? The MSDN article discourages the use of DI for mouse due to extra overhead.

There can't be a "tool" to test input lag. Input lag is used to describe the time it takes for the result of your action to display on the screen, and the only way to measure it at all is with external devices. It is physically impossible to not have input lag, because any processing takes time, and there's tons of things that can contribute to it between your devices and the monitor. It's all standard nowadays, and really the only thing that reminds us of its existence is the last mile - frame queues/monitor.

If it makes you feel any better, there are no different input systems for keyboards, kb input is always handled exactly the same and the standard hasn't changed in decades; besides, logically there's only one way to handle it. Most of your skills in WoW are on keyboard, so there's really nothing you can do about it anyway. If you don't feel input lag, it just means there isn't any problem with that.
Default UI Scripts - Compilation & how-to

#11 Apsco60

Apsco60
  • Junkies
  • Orcclass_name
  • US-Illidan
  • Rampage
  • Posts: 155
  • Talents: Beast Mastery 1/0/1/2/1/0

Posted 02 May 2013 - 05:07 AM

View PostConviqx, on 02 May 2013 - 02:48 AM, said:

i wont say anything back cuz it'll get deleted anyway

the internet, where boys can be men
You wont say anything back because your word is useless.

#12 Zerstiren

Zerstiren
  • Junkies
  • Humanclass_name
  • US-Darkspear
  • Cyclone
  • Posts: 166
  • Talents: Holy 2/1/1/2/2/0
  • LocationNew Jersey

Posted 02 May 2013 - 05:21 AM

The "Reduce Input Lag" option allocates more CPU resources to the front end of World of Warcraft.  Your inputs, such as pressing a key bind, clicking on something, et cetera, will register faster.

That is the reason the option warns you that enabling the option may reduce your frame rates; it robs CPU cycles from the core processing of WoW.

That being said, it is worth enabling.  On a mediocre computer I don't lose any FPS, in any situation, with it enabled.

Also: It isn't tied to vertical sync at all.

Edited by Zerstiren, 02 May 2013 - 05:22 AM.


#13 Thaya

Thaya
  • Moderators
  • Posts: 2085
  • LocationRussia

Posted 02 May 2013 - 05:45 AM

View PostZerstiren, on 02 May 2013 - 05:21 AM, said:

The "Reduce Input Lag" option allocates more CPU resources to the front end of World of Warcraft.  Your inputs, such as pressing a key bind, clicking on something, et cetera, will register faster.

That is the reason the option warns you that enabling the option may reduce your frame rates; it robs CPU cycles from the core processing of WoW.

That being said, it is worth enabling.  On a mediocre computer I don't lose any FPS, in any situation, with it enabled.

Also: It isn't tied to vertical sync at all.
"Allocate more CPU resources" is way too vague of a description. Allocate to doing exactly what? Reading/listening input isn't exactly a calculation process, you can't make it "faster". Device/port polling rates is the closest thing to that, but it has nothing at all to do with CPU and is handled by drivers and the motherboard, definitely not games. All these input systems rely on receiving messages from the devices when input is being made, which makes much more logical sense and requires 0 calculation resources.

Anyway, I figured it out now! Raw input has an issue in that it must be called and ran within the same process/thread that created the window, i.e. the main process/thread. This basically means that all mouse movement will "depend" on that process, so any micro stutter or halt in WoW will reflect on mouse movement as well, most likely even if the spike was too small to cause anything noticeable in fps. This is exactly why the wiki article for "enable hardware mouse" variable mentions potential stutter/jitter or freeze issues, and why this concept will work completely fine in games like CS and Quake but not in WoW (much more CPU heavy and workload much less consistent with heavy spikes).

The only way to make sure that mouse movement is tracked asynchronously - separate from WoW's main process - is handling it via another thread/window, which is complex, and which is exactly what directinput is doing anyway. That approach introduces extra overhead which results in the fps drop. This also explains why it's called "smooth mouse" in WoW variables, as with this method it's guaranteed that mouse will never stutter due to having its own, dedicate process thread handling it.

And that's it, another mystery solved. Learn something new every day
Default UI Scripts - Compilation & how-to

#14 Woundman

Woundman
  • Moderators
  • Curse Premium
  • Posts: 312

Posted 02 May 2013 - 07:50 AM

Thanks Thaya! Much appreciated.I am curious though. Where did you get this information? I couldn't find much on it, which was strange to me.

#15 Thaya

Thaya
  • Moderators
  • Posts: 2085
  • LocationRussia

Posted 02 May 2013 - 08:01 AM

I used to play a lot of Quake so I researched various mouse settings to make sure my aim wasn't hindered by the mouse or bad configuration. Enabling raw input is one of the first things everybody does in Quake and HL/Source based games, to make sure that Windows mouse settings don't interfere.

I knew what this was about when I saw "hardware mouse" in those wowpedia articles, from there on it's just google.
Default UI Scripts - Compilation & how-to




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

<