polling rate |
Your mouse's polling rate determines how often it sends data to your
operating system. All mouse movements (counts) and button presses must
wait in the mouse until windows polls for them. By default, windows
will poll a usb mouse every 8 milliseconds (125hz).
You can increase the frequency of polling with a number of
programs/drivers/registry fixes. All this does is reduce the delay of
sending the mouse data to the operating system. This has no effect on
your sensitivity, but it will increase cpu usage.
For example, say you are using a polling rate of 500hz (2ms). Over a
period of 8ms, you move your mouse 40 pixels (constant movement, no
acceleration). Every 2ms your mouse sends a count of 10 pixels. Now
you increase your polling rate to 1000hz (1ms) and make the same
movement. Instead of 10 pixels every 2ms, your mouse now sends 5 every
1ms. Either way, 10x4=40, and 5x8=40. same distance, one is just
polled more frequently.
check your polling rate:
mouse movement recorder
mouserate checker
direct input mouse rate
change your polling rate:
hidusbf - windows xp
hidusbf - windows vista/7 (requires slightly more effort)
If you decide to increase your polling rate, make sure your mouse can
consistently provide updates at the increased frequency. If it cannot,
the delay of your input will change.
Your mouse may not be able to report consistently for any number of
reasons, including your operating system, cpu, motherboard, or the mouse
itself.
For example, I have two screenshots taken of mouse movement recorder
with two different mice overclocked to 1000hz. Both screenshots are the
end of a short movement of each mouse. The first screenshot is of the wheel mouse optical 1.1a.
You can see that every time windows polls (1ms), the mouse has data to
send, so the rate sticks to 1000hz (or very close to it). As my
movement begins to slow down, and eventually stop, the mouse rate goes
down. This is because windows is polling every 1ms, but as the mouse
moves slower, sometimes there is no movement at that poll. Then another
1ms later, windows polls the mouse and there is movement, so the period
of that movement was 2ms long instead of 1. Frequency = 1/time, so
1/(2ms) = 500Hz. Because windows polls every 1ms, the periods can only
be 1ms, or 2ms, or 3ms, etc, and then the hz can only be 1000/1, 1000/2,
1000/3, 1000/4, 1000/5, etc (1000, 500, 333, 250, 200). This explains
why the mouse eventually hits 333/200hz before the movement comes to an
end.
In the second screenshot of the mx518 @ 1000hz,
we don't see as good of a performance. More than 5 times the mouse
reports at more than 1ms before it is slowed down. Using mouserate
checker, I put together a screenshot comparing the 518 at 500 and 1000hz.
You can see at constant movement that the 518 reports correctly every
2ms, but sometimes even lower when set to report every 1ms. Looking again at mouse movement recorder at 500hz this time, you can see the report rate looks as expected as the mouse movement comes to an end.
If you overclock your mouse and it doesn't behave as expected, try
stepping it down to the next polling rate to find something stable.
|
|
|