外设天下 - 电脑外设发烧友聚集地

12下一页
我的人缘0

[求助] [高手向]问个指针精度的问题

12 8269
楼主
跳转到指定楼层
发表于 2011-6-15 20:38 只看该作者 倒序浏览 阅读模式
因为windows的指针移动是牺牲精度的大于6/11 就等于是数码变焦...精度很低 高了会飘

今天试验了下罗技的驱动...
好像他的方式和windows的调解方式不同
而且能完美解决 加速度问题...保证0加速

那问一下 如果罗技驱动调节速度至最大 是否牺牲精度? 每个像素都能有效

再问个问题
如果我进游戏 比如war3 sc2 调节里面的鼠标灵敏度 是不是调高了也适合windows一样 会牺牲精度?
再次感谢
0
已赞
微信分享 收藏
回复

使用道具 举报

我的人缘0
2
发表于 2011-6-15 21:25 只看该作者
{:1_006:}
回复 支持 反对

使用道具 举报

我的人缘0
3
发表于 2011-6-16 01:33 只看该作者
加速和精度没有任何关系.   打个比方,你不开加速. 你移动了三个单位, 那在屏幕上,第一个单位表现为一个单位,第二个单位表现为一个单位,第三个单位表现为一个单位,总共三个单位.
    你开了加速.   第一个单位表现为一个单位,第二个单位表现为二个单位,第三个单位表现为三个但是,总共六个单位.

和精度无关.
回复 支持 反对

使用道具 举报

我的人缘1
4
发表于 2011-6-16 06:59 只看该作者
不装驱动的路过。
回复 支持 反对

使用道具 举报

我的人缘0
5
发表于 2011-6-16 08:15 只看该作者
3# 18502539
事实是..>6的确会影响精度

因为windows通过插值来调节速度的


http://www.pcwaishe.cn/viewthread.php?tid=5976&extra=page%3D1%26amp%3Bfilter%3Ddigest
这是置顶帖
看2楼

http://msdn.microsoft.com/en-us/windows/hardware/gg463319.aspx
这是微软技术参数

http://blog.csdn.net/liuweili_lwl/archive/2006/04/12/660868.aspx
这是翻译
回复 支持 反对

使用道具 举报

我的人缘0
6
发表于 2011-6-16 08:28 只看该作者
windows的6/11就是鼠标DPI的真实反映,再大就是“数码变焦”了。(lz这个比喻真形象,以后我也这么说了)
由于我裸奔惯了,没法回答setpoint的问题,而且我也不玩儿war3和sc2。
lz可以在setpoint里把速度射高了以后缓慢移动鼠标看看跳不跳,如果永恒都是一像素的移动的话就没关系,
游戏里也可以这么试。
回复 支持 反对

使用道具 举报

我的人缘1
7
发表于 2011-6-16 08:47 只看该作者
我从来不调整 6/11
所以也没有研究
回复 支持 反对

使用道具 举报

我的人缘0
8
发表于 2011-6-16 10:14 只看该作者
兄弟解释完了 我路过吧
回复 支持 反对

使用道具 举报

我的人缘0
9
发表于 2011-6-16 15:42 只看该作者
本帖最后由 xmiangui 于 2011-6-16 16:51 编辑

1# 仲夏之末

只要不是加驱的程序,99.99%是调用系统函数处理鼠标指针。

比如SC2,可以做个简单的实验,把鼠标DPI设置的很低。然后进游戏把鼠标速度调到最高,缓慢得拉斜线拉出来是锯齿形的,说明和Windows鼠标速度调高的效果一样是失真的。然后再做个稍微“科学”点的实验,开个记录鼠标移动数据的软件,比如MMR,切进SC2再缓慢的移动一下鼠标,切出来可以看到鼠标回报的移动数据是1,实际的屏幕移动数据是3或4。这个情况和Windows鼠标速度拉倒慢一样,说明鼠标移动数据被乘以了3.5倍。

其实简单猜测一下就能知道SC2的鼠标速度实现原理。显然你装SC2的时候没有加驱。那么SC2应该用的是DirectX的DirectInput重置了操作系统的鼠标速度,SC2默认的鼠标速度是51%也就是6/11。不信你可以把鼠标速度设置为1/11,再进SC2,外面的鼠标速度设置对里面是无效的。反过来说,在SC2里调节鼠标灵敏度等于独立的调节了一套Windows鼠标速度,在里面调到最大就相当于控制面板里调到11/11。


War3我倒不太清楚有条鼠标速度的选项么?好久没玩了。我记得设置里的鼠标卷动速度指的是鼠标放到屏幕边缘以后移动视角的速度,和指针自己的移动速度无关。
回复 支持 反对

使用道具 举报

我的人缘0
10
发表于 2011-6-16 15:44 只看该作者
测试
本帖最后由 xmiangui 于 2011-6-16 16:05 编辑

再讲一下加速度,我见过的鼠标驱动里的加速度调节实现也是调用系统的鼠标函数。只不过控制面板里就“提高指针精确度”一个勾,勾上了有加速度,不勾上没加速度。

Windows实现加速度的简单讲就是这么实现的:首先X\Y轴上的鼠标速度有个分段函数叫指针平滑表(SmoothMouseXCurve和SmoothMouseYCurve)。这个分段函数就是鼠标输入的速度越大,屏幕指针输出的速度相应的也越来越大,但是幅度更大的一个分段函数表。直观来说就是加速度。然后还有3个阀值控制具体加速度的大小,分别是MouseSpeed、MouseThreshold1、MouseThreshold2。

控制面板里去掉“提高指针精确度”,这三个阀值就被置为0、0、0,也就没有加速度了.勾上就是1、6、10,一个微软认为“适当”的加速度。我记得Win2K里还可以选择“高、中、低、无”四种加速度,貌似后面的版本就没了。当然通过一些鼠标软件、驱动界面里可以更精细地调节加速度的幅度,不同的幅度给这三个阀值置不同的值。调节到无或者0之类的无加速就是0、0、0,和去掉“提高指针加速度”效果一样。

当然设置阀值也有个缺点,就像上面讲的有些游戏会重置操作系统的鼠标设置,比如CS不加参数就会把MouseSpeed重置为1。所以才会流行“去操作系统加速度补丁”把指针平滑表改掉。只要想办法把指针平滑表构造成“平”的,自然阀值多少都无所谓、没有加速度了。

因为加速度比较难实现,就算鼠标驱动这类加驱的程序我貌似也没见过自己写程序实现加速度的,调用的还是系统函数。话说电脑编程里从来就不提倡重新发明轮子。至于有鼠标据说本身有硬件加速度,那就不在操作系统和下面的软件可以控制的范围里了。
回复 支持 反对

使用道具 举报

12下一页
高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则