本帖最后由 volitation 于 2017-3-22 15:04 编辑
引一段 文章看看有用吗
Windows的程序获得计算指针移动的机制比较复杂,也存在各种不同的函数,其中有一些是会受操作系统影响,有一些则不受。
Windows四种获取鼠标速度的方式:
1. WM_MOUSEMOVE函数(大多数非游戏程序、老游戏采用,受EPP影响)
2. GetCursorPos函数(老游戏采用,受EPP影响)
3. DirectInput(DirectX组件,涵盖鼠标、键盘、摇杆和其他手柄,不受EPP影响)
4. Raw Input/WM_INPUT函数(新游戏采用,不受EPP影响)
包括CS1.6在内的大多数老游戏都采取了第一种方法WM_MOUSEMOVE。对于采取WM_MOUSEMOVE或者GetCursorPos的程序,EPP会影响程序中的鼠标加速度。一些程序会在默认情况下自动开启EPP,也就会受Windows 加速度曲线(由注册表定义)的影响,这时需要利用补丁等手段去除加速度,就是大家熟知的1.6 -noforceaccelerate参数等; 而Source引擎加入了获取鼠标原始输入参数调用的功能,所以我们的CS:GO要强大的多,可以使用Raw Input/WM_INPUT参数,直接从鼠标读取的最底层数据,绕开操作系统影响。WM_INPUT对于游戏来说是最好的方式,因为它直接读取底层鼠标数据,给予精确一比一的鼠标灵敏度,并铲除了加速度的祸根。
所以就建议玩家如果希望得到无修正的鼠标移动,在游戏内简单开启“鼠标原始输入”即可;如果你已经习惯和适应了带着加速或修正的鼠标移动,那么不开也可。但是据作者手上的数据,200多个欧美职业、路人大神中,不开RawInput、不采用6的Windows鼠标速度,也即存在Windows修正或者加速可能性的职业选手,现役只有shox一人,而且不排除他通过其他方式去除了这些影响。所以说,原始输入还是打开比较好。 游戏内鼠标速度 CS:GO中与鼠标速度相关的参数有很多,其中游戏设置中只能修改5项,其他可以用控制台修改,介绍常见的几个,其他的可以自行搜寻资料:
m_customaccel "0":是否开启加速
m_customaccel_exponent "1.05" 加速值
m_customaccel_max "0"最大加速度
加速反正没什么人开,就不说了。
m_rawinput "1"是否开启原始输入
下面重头戏开始:
m_pitch "0.022"横向转动系数
m_yaw "0.022"纵向转动系数
sensitivity "0.213"准星灵敏度
zoom_sensitivity_ratio_mouse "1"开镜后准星灵敏度
另一文章说的是分析众多fps游玩家屏幕分辨率和鼠标dpi的关系得出系数是4--5左右,为得到一个合适的鼠标dpi,屏幕 横向分辨率 / 鼠标使用的dpi X 2.54最后得到一个值,举例说如显示器分辨1920x1080,鼠标dpi 1200,计算1920/1200x2.54=4.064, 结合取消win7 中那个”提高指针精确度”的一个选项
|