1、鼠标加速度的问题
一般来说,游戏中会使用下列函数之一来使用鼠标:
1.WM_MOUSEMOVE
2.WM_INPUT
3.DirectInput(一般不用)
WM_MOUSEMOVE,就是在桌面下使用的函数,但是这个函数与桌面分辨率密切相关,比如说,你轻微地移动了鼠标,但是并不会使鼠标指针移动到下一个像素(这就是高dpi鼠标,比如说3200dpi的时候,轻微移动,但是指针没反应的原因,与屏幕分辨率有关)。
并且,这个函数中会加入鼠标加速度的信息,也就是说,一旦游戏使用了这个函数,不论在鼠标控制面板中“提高鼠标精度”一项有没有打钩,游戏中都会有鼠标加速度的体现。这就是通常所说的xp加速度Bug。
2、鼠标速度、鼠标刷新率、屏幕分辨率的关系。
鼠标某个轴的速度Vmouse = (usb报告率 ¸ 鼠标cpi)× 鼠标移动counts (单位inch/s)
比如125hz下,400cpi的鼠标, 在x轴上鼠标恒定每个usb数据包报告了3个counts,根据公式,大概就是1 inch/s 的移动速度。
屏幕指针某个轴的速度Vpointer = (屏幕刷新率 ¸ 屏幕dpi)× 鼠标移动counts (单位inch/s)
例如,17寸(指对角线)屏幕,1024×768的分