|
本帖最后由 xmiangui 于 2011-4-15 01:27 编辑
对,用了去加速补丁并且重启后,无论是否勾选提高指针精确度都不会有操作系统加速度。
讲一下我所知道的,什么是Windows的系统加速度:
在注册表项HKEY_CURRENT_USER\Control Panel\Mouse下面可以看到,操作系统加速度一共有2部分构成:
一个是X、Y轴的平滑表SmoothMouseXCurve和SmoothMouseYCurve。还有就是基于这两张表的控制变量MouseThreshold1、MouseThreshold2(阀值)和MouseSpeed(幅度)。
去加速度补丁重新构造了两张指针平滑表,使其不再是一个随着速度递增的函数(加速度)。这个时候无论阀值和幅度如何变化,因为函数本身已经是“平”的了,所以就不会有加速度。
以XP为例,我们平时勾选“提高指针精确度”就会把MouseThreshold1、MouseThreshold2、MouseSpeed赋值成6、10、1,不勾选则直接赋值0、0、0。
通过大多数鼠标驱动调节加速度也会根据加速度的大小赋予不同的值给这三个参数。
再说CS,CS如果不加-noforcemparms或者-noforcemspd -noforcemaccel命令行启动参数,会在初始化鼠标时调用系统函数SystemParametersInfo的SPI_SETMOUSE直接在操作系统内核里修改上面的这三个参数(是否会反映在注册表里就不知道了),但如果平滑表已经是构造好的无加速度的话,自然也不会产生加速度。
PS.
MackC去加速度补丁生成器(MarkC Windows7+Vista+XP MouseFix Builder)的作者Mark Cranness认为XP和Vista的默认指针平滑表算法是有误的,在不同屏幕刷新率和显示DPI下会产生不同的加速度,所以需要显示根据设置构造不同的reg文件来“去加速度”。
不过他写的文章太难我看不懂,所以不知道到如果用那个CPL的reg和MarkC生成的效果上区别在哪里…… |
评分
-
查看全部评分
|