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

我的人缘0
11
发表于 2008-10-20 10:03 只看该作者
原帖由 jimmqs 于 2008-10-20 02:08 发表
LZ你好,最近我也在研究sens的问题。说些自己的看法,因为自己理解程度有限,所以会有不对的地方,请大家指正。
先说下什么是灵敏度(sensitivity),其实灵敏度是物理学中衡量仪器(特别是光学仪器)的标志。书本上 ...

谢谢这位朋友这么详细的回答,不过你只是把http://www.pcwaishe.cn/viewthread.php?tid=5976&highlight=文章的内容重新描述了一遍,提出了CPI这个概念,本来已经有一点明白了,但是你后面的一段话让我更加迷糊了:“所以高DPI的优势就体现在瞬间加速的同时一样可以提供近乎完美的精度,而低CPI鼠标是无论如何做不到这一点的。”“高DPI的鼠标的定位精度一定会大于低DPI的鼠标。但是鼠标的CPI也并不是一成不变的,它不会一直保持着高达800的DPI指标。““当移动速度加快时,DPI值也会随之增高。也就是说CPI和鼠标的移动速度成正比。”
你一会DPI,一会CPI,我都看迷糊了,看完这段给我的感觉就是:DPI=CPI,事实上根据你的描述我也觉得是差不多的概念。即使是DPI,并不会受到屏幕分辨率的影响,请看你对dpi的描述:“也就是鼠标每移动一英寸指针在屏幕上移动的点数。”请注意这里说的是点数,并不是距离,虽然不同分辨率每英寸的点数不一样,但是对于一个400dpi的鼠标,移动1英寸,指针就在屏幕上移动400个像素点,无论你是用800*600还是1600*1200的分辨率,它都是移动400个点,只不过800的屏幕由左到右你需要移动2英寸,而1600的你要移动4英寸而已,所以你很容易得出的结论:“高DPI鼠标比低DPI鼠标定位更加准确!”就不是那么准确了。只要你提到的windows鼠标速度*游戏sen的值<1,我把这个值定义为精度,那么无论多少dpi都可以精确定位到每一个像素(理论上),如果精度大于1,即使是18000dpi都不可能精确定位。高dpi的好处在于:在保证精确定位的同时,提供足够的移动速度,因为要保证精度<1,dpi不提高的话,移动速度没办法提高。
最后再讨论下sens值,我还是看不明白,对于公式:游戏里光标速度的计算方法=鼠标DPI*WINDOWS鼠标速度(M值)*游戏里SENSITIVITY值,这个sens值是否最大是20?如果是的话,跟我的测试结果又不符合,当然我用的是on the fly,在桌面测试。在1800dpi,windows鼠标速度保持默认,M值应该是1,实际测试中,我的sens设置到最高,鼠标移动1英寸,光标移动了900个像素点,所以我才认为sens最大值的系数是0.5。你们提到的是游戏里SENSITIVITY值,我不知道你们指的是什么游戏,不过我在WOW里面测试,结论是一样的。

[ 本帖最后由 orlan 于 2008-10-20 10:08 编辑 ]

评分

参与人数 1技术分 +3 收起 理由
红发78 + 3

查看全部评分

我的人缘0
12
发表于 2008-10-20 10:09 只看该作者
这个问题由来已久 我也搞不懂 但个人觉得dpi绝对不能和速度直接挂钩
我的人缘0
13
发表于 2008-10-20 10:31 只看该作者
我看完http://www.pcwaishe.cn/viewthread.php?tid=5976&highlight=这篇文章最大的收获就是知道了:dpi跟精确定位无关,但是看几位朋友的回复,都有一个理解就是:dpi越高,精度越高。
假设游戏里光标速度的计算方法=鼠标DPI*WINDOWS鼠标速度(M值)*游戏里SENSITIVITY值这条公式正确的话,那么一个400dpi的鼠标,在WINDOWS鼠标速度(M值)*游戏里SENSITIVITY值(我暂且定义为精度吧)=1的时候,移动1英寸,光标移动400个像素点,800dpi的,移动1英寸,光标移动800个像素点,当精度=2的时候,400dpi的移动1英寸,光标移动400*2=800个点,800dpi的移动1英寸,光标移动800*2=1600个点。好了,我把D版的一段话抄过来:在使用400DPI鼠标并加倍鼠标速度时,光标在屏幕上是从第1个像素开始,一直到第3,5,7,9,...... 799个像素,是一种跳跃式的移动,也就是说对于屏幕上一半的像素点来说,你在移动过程中根本不能定位到它们身上!!,同理,对于800dpi的鼠标,光标在屏幕上是从第1个像素开始,一直到第3,5,7,9,...... 1599个像素。这里可以看出来,即使是80000dpi的鼠标,在精度大于1的时候一样是无法精确定位的。
我的人缘0
14
发表于 2008-10-20 11:50 只看该作者
我又想到一点,我们可以不用管windows的移动速度和游戏sens的系数是多少,也不用管什么公式,因为没人知道公式是否就这么简单的相乘关系,只要拿鼠标移动1英寸,看光标移动了多少个像素点,只要光标移动的像素点<当前鼠标的dpi数值,那么我们可以认为这个鼠标可以精确定位。在保证这个的前提下,对于windows鼠标移动速度和游戏sens做一些调整,以符合我们要求的鼠标移动速度。
当然,如果保证精确定位还不能调整到所需要的鼠标速度,在dpi不能提高的情况下,只能损失定位精度来提高鼠标移动速度了,这就是高dpi的好处。

[ 本帖最后由 orlan 于 2008-10-20 14:14 编辑 ]
我的人缘0
15
发表于 2008-10-20 12:05 只看该作者
原帖由 orlan 于 2008-10-20 00:23 发表
刚才我测试了,我怀疑那篇文章的最后结论关于灵敏度的界定是否正确,就是灵敏度的格数对应的系数是1 2 4 6。。。。16 18 20这点。如果把移动速度*灵敏度称作鼠标的精度的话,我鼠标dpi 1800,移动速度我设置为4格,那 ...



你出问题的原因就在于把原帖中的游戏里的sensitivity和razer驱动里的灵敏度混淆了,我们说的是,在1800dpi的鼠标,按你说的WINDOWS选中第4格,同时游戏(我记得当时是以CS为例的)里面的sensitivity(注意不是你razer驱动上的那个“灵敏度”滑块)设置=2 ,这时移动2.54厘米应该是移动屏幕上1800个点~  而你说的是把RAZER驱动里的sensitivity设置为2,这是完全不同的概念~ 因为在做这个帖子的时候我是用518来做的,因此没能去研究RAZER驱动里的这个sensitivity是做什么的~(在已经有了DPI调节,windows鼠标速度调节和游戏中的sensitivity调节之外,再多设计一个驱动里的sensitivity调节,真是令人费解的设计啊)
我的人缘0
16
发表于 2008-10-20 12:25 只看该作者
以上几位的探讨都很不错~

DPI(dots per inch)和CPI(count per inch)名字虽不同,但是在游戏应用中来说,实际意义是几乎一样的~  DPI指的是鼠标移动一英寸,能够采集到多少个点的数据并反馈给电脑,400DPI的鼠标会反馈400个点的移动给电脑,800dpi会反馈800,以此类推~

在电脑接到鼠标反馈回来的400个点的移动后,那么如何决定光标在屏幕上要移动多少个点呢?这里就需要将windows的鼠标速度和游戏里的sensitivity计算在内,比如说windows速度第5格代表着系数1,而游戏里的速度设定为2(我们先假设游戏里的sensitivity和实际鼠标速度是简单相乘的关系,这个假设不影响我们作出原理上的计算),那么这时对于鼠标传回来的400个点的移动,电脑会判断:鼠标实际移动的点数*windows速度*游戏sensitivity设定=800个点~ 也就是说会将准星移动800个点~  当我们修改windows鼠标速度或是游戏里的sensitivity速度时,就会影响到最终光标移动的距离~

为什么说低DPI的鼠标会比较不适合高分辨率游戏呢,我们做个假设,400dpi的鼠标在1600*1200的分辨率下玩RTS游戏的话,如果我希望鼠标移动1英寸的时候,光标能水平划过整个屏幕(移动1600个点),这时就是说400*windows鼠标速度*游戏里sensitivity=1600,这时windows鼠标速度和游戏里sensitivity的乘积应该是需要设定在4,假如我的鼠标开始移动了,当我的鼠标移动1/400的距离时,向电脑发回了第一个点的数据,这时我的光标会从位置0点移动到位置4点(1*windows速度*游戏sensitivity=1*4=4),也就是说对于位置1,2,3三个像素都是被跳过去了~ 也就是说没能定位到路径上的任何一个点~

如果我使用1600DPI的鼠标,想实现同样的移动(1英寸划过整个屏幕),那么公式1600*windows速度*游戏sensitivity=1600,也就是说windows速度*游戏sensitivity=1即可,这时当我的鼠标开始移动,并移动了1/1600英寸后,那么我的光标是移动1*windows速度*游戏sensitivity=1*1=1,也就是说从位置0点移动至位置1点~ 同样,当我的鼠标从0移动至1/400英寸的时候,鼠标实际上像电脑反馈了1/1600,2/1600,3/1600,4/1600四个点的数据,而光标移动的轨迹分别是位置0点-位置1点-位置2点-位置3点-位置4点~  这种移动与400dpi的鼠标从位置0点直接到位置4点的移动相比,谁精确是不是很明显呢~ 这就是为什么我们说在这种使用环境下,使用高DPI鼠标,只要你能精确控制自己的手,你就能定位到屏幕上的每一个点~

但是,不要断章取义地说DPI低的鼠标不精确,我们上述推论作出的前提有两个,1,高分辨率环境,2,希望高光标移动速度,也就是说,当我使用在低分辨率环境下,或者我使用时可以接受比较慢的光标移动速度时,那么低DPI鼠标也一样可以精准定位,具体的推算方法与上面类似,就不再多说了~
我的人缘0
17
发表于 2008-10-20 12:32 只看该作者
原帖由 orlan 于 2008-10-20 10:03 发表

谢谢这位朋友这么详细的回答,不过你只是把http://www.pcwaishe.cn/viewthread.php?tid=5976&highlight=文章的内容重新描述了一遍,提出了CPI这个概念,本来已经有一点明白了,但是你后面的一段话让我更加迷糊了:“ ...

恩,因为你的题目是问这三种东西之间到底相等不相等,或者说三者见有什么联系。所以我文章写的偏重介绍DPI,sens,鼠标移动速度的概念。我想,这点还是和drocee的文章有一定区别的。
解释几个问题哈。
首先,CPI与DPI的关系,dpi是dots per inch的缩写,意思是每英寸的像素数。cpi是count per inch的缩写,意思是每英寸的采样率。dpi反应的是个静态指标。由于鼠标移动是个动态的过程,用cpi来表示鼠标的分辨率更为恰当。CPI这个概念,最早是最大的芯片制造商安捷伦提出来的。另外,我们讲的CPI多少多少,并不是固定值,而是一个最大值。既然存在着最大值,那么说明它在不同的条件下是可变的。我文中也有提到。
这里,我也要提出个自己的见解。DPI越高,鼠标定位越准,从原理上来讲是这样。但究竟有这个必要吗?我觉得DPI达到1500左右,再高就没有什么实际意义了。有点大材小用的感觉,我们的手不是精密的机械,举个例子,在一英寸的范伟内,我们的手能随自己意念把光标移动到2000个点中的任何一点吗?何况我们也不需要那么准确的定位。


先写到这里,上班了。
我的人缘0
18
发表于 2008-10-20 12:34 只看该作者
顺便说句,鼠标驱动,我也从来都没装过。  对里面的东西,尤其是razer驱动里面的一些设置选项同样非常费解。
我的人缘0
19
发表于 2008-10-20 13:58 只看该作者
D版终于出现了,也解释了我的疑惑,由于你在很前面提到CS,然后过了很久才有关于sens的描述,所以没把他们联系起来,CS的sens没有测试过,WOW测试过完全不是这样的。关于Razer为什么要设置灵敏度调节,我到可以解释下,因为这是Razer的一项叫做on the fly的技术,可以在任何情况下实时调整灵敏度,只要设置一个on the fly的键,按住这个键,通过鼠标滚轮可以在0.5到10之间调整鼠标的灵敏度,以适应不同情况下的使用。当然,如果你习惯了在一个游戏中就用一种灵敏度,确实这项技术没有什么用。
至于jimmqs朋友的回复,我确实开始题目是请教鼠标的dpi和移动速度和灵敏度的区别,但是看了D版的文章之后我已经了解了,3楼我已经说过了。你对CPI的解释让我又学到更多的知识,不过描述上比较混乱,例如:所以高DPI的优势就体现在瞬间加速的同时一样可以提供近乎完美的精度,低CPI鼠标是无论如何做不到这一点的。前面你提到了“高DPI",但是后半句你对应的是”低CPI“,让我不知道你说的是不是同一件事,后面几句也是一样。当然我们现在不是小学语文考试,看得懂就是了,不过给我的感觉就是在你印象中CPI等于DPI(事实上我也觉得它们是一样的东西)。
最后,我比较相信D版所说的,所以对于认为dpi越高定位越准这个观点我是不同意的,只有在光标的移动速度不变的情况下,这个理论才能成立,因为800dpi的鼠标要跟1600dpi鼠标的移动速度一样的话,WINDOWS鼠标速度(M值)*游戏里SENSITIVITY的值必须是1600dpi鼠标的2倍。
至于是否需要那么高的dpi,见仁见智了,400dpi的鼠标,只要把WINDOWS鼠标速度(M值)*游戏里SENSITIVITY的值设置为4,就跟1600dpi鼠标把WINDOWS鼠标速度(M值)*游戏里SENSITIVITY值设置为1有同样的移动速度,人手确实不是精密的仪器,不过我相信大家在这两种情况下分别用用,都会觉得有很明显的区别。

[ 本帖最后由 orlan 于 2008-10-20 14:02 编辑 ]
我的人缘0
20
发表于 2008-10-20 14:26 只看该作者
测试
原帖由 orlan 于 2008-10-20 13:58 发表
D版终于出现了,也解释了我的疑惑,由于你在很前面提到CS,然后过了很久才有关于sens的描述,所以没把他们联系起来,CS的sens没有测试过,WOW测试过完全不是这样的。关于Razer为什么要设置灵敏度调节,我到可以解释下 ...



on-the-fly 是什么我清楚~  我疑惑的是其实RAZER完全可以把这个技术直接与windows鼠标移动速度这个变量关联起来~ 而不是在中间又在设定一个sensitivity滑块~ 等于是一个已有2个变量的方程,只需要直接调整其中一个变量就可以实现的变化,但是RAZER非要在其中再多加入第三个变量,来通过调节第三个变量来实现结果的变化~ 等于是多麻烦一层来实现同样的效果~ 所以很令人费解~

不过也可能是windows系统设定对RAZER不开放的缘故吧~ 可能windows的鼠标速度是非连续的~ 所以逼得razer一定要引入第三个变量才能实现线性连续调整~  天知道~:mm4:
高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则