Robustness of Diabotical mouse input (more accurate at 5fps than CSGO at >400fps)

Csgo uses an raw-input buffer that is polling the mouse at its set hz, storing it in a buffer then it grabs the freshest input from that buffer when it draws a frame.

Without raw input it polls the mouse every frame through the windows backend.

That's atleast my understanding. I've put way to much time into messing with it. I'm personally a spray heavy player, and perfer r_input 0 as I can control sprays better, but it comes at a slight inconstancy as with the buffer you have a more even polling of the mouse that is less dependent on frame rate, as if your getting 300 fps with rinput off its only polling your mouse movement 300 times a second. Where as the buffer still poll it when not drawing, so it can more accurately represent the movement. I prefer 333 or 500 fps locked frame rates and r_input off. If your frame rate varies or is not close to an even divisor of mouse hz, r_input on feels better.

R_input seems to have better first shot accuracy, but can feel off for some. r_input 0 has more downsides, and has more influencing factors that can make it less accurate. But there is something to it being off, many spray heavy players use or atleast for the longest time used 0, but it comes at a cost of true accuracy, which can be negated, but vary heavily depends on the pc ecosystem, which is why I think many end up going to rawinput. As you might not be able to hit a locked framerate or have the dpc latency on a lan pc, thats the same as your home system.

This is all due to the way r_input is pretty much patched on top of source engine and the way it works. Modern games avoid this by having a proper implementation and poll everything independent of frame rate as you can see here in this example.

/r/Diabotical Thread Parent Link - streamable.com