作者fakeQQQ (Phakither)
看板Key_Mou_Pad
标题Re: [滑鼠] 滑鼠的选择 一点心得
时间Mon Jan 31 20:32:21 2011
※ 引述《fakeQQQ (Phakither)》之铭言:
写太烂 再补充一篇说明@@
(1) (2) (3) (4) (5)
感应器→滑鼠内暂存器→电脑→ OS →Game
(1)到(2)这段 不是我们能控制的
机制是这样的:
(2)存着一些"向量"
里面有一组数字(x,y) 初始值是(0,0)
如果一个400cpi的滑鼠 往右移一寸 那就变成(400,0)
再往左移两寸(400,0) + (-800,0) = (-400,0)
接下来电脑每隔一段时间 会跟滑鼠要一次这组数字 并重新归零
也就是 1/125 秒时 电脑读到(1200,800) 於是就往右1200个单位 往上800个单位
(2)→(3)就是第一个瓶颈
因为暂存器能存的数字是有限的 以8bit来说 范围是-128~127的"整数"
也就是说 每次能送出的最大数字就是128(or 127)每秒收125次资料
所以一秒钟加总起来的数字是128*125=16000 一秒最多能数出16000格
而400cpi的滑鼠 一寸有400格, 所以 一秒只能数40寸
如果你用800cpi的滑鼠 那滑鼠能传给电脑的速度 最多就是每秒20寸 , 1600cpi剩10寸
滑鼠超出这个速度的话也没用 因为USB这层没办法传这麽多资料给电脑
也就是说 如果你用超强的滑鼠感应器 配上1600cpi ,8bit data depth ,
你以每秒40寸的速度移动滑鼠 ,电脑内指标会以每秒16000单位的速度移动
你的手加速到每秒60寸的话 电脑里的滑鼠指标 还是只能以16000/sec
如果你再快 超出感应器极限 感应器就会侦测到有问题的值 滑鼠就会大暴走
大家在driver 或是控制台调整的 是倍率
预设情况(6/11 去掉加速) 滑鼠送出一个count时 游标也移动一格
以winXP为例:
1/11 0.03125 0.03125的意思是 OS每收到滑鼠给的一个count,指标移动0.03125格
2/11 0.0625 以下同
3/11 0.25
4/11 0.5
5/11 0.75
6/11 1
7/11 1.5
8/11 2
9/11 2.5
10/11 3
11/11 3.5
以上是除了感应器外的第一个瓶颈 也是前人超polling rate的原因
如果有兴趣我再解释最後那一个瓶颈的由来
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.192.192.137
※ 编辑: fakeQQQ 来自: 123.192.192.137 (01/31 20:34)
※ 编辑: fakeQQQ 来自: 123.192.192.137 (01/31 20:37)
1F:推 torpp:感谢用心.. 我再看个几次!! 01/31 20:41
2F:推 lordmi:我想知道最後这个x/11是有技术文件的吗?之前板上讨论了 01/31 22:15
3F:→ lordmi:很多关於[加速]的比例问题,但您这种说法是第一次量化出来 01/31 22:15
4F:→ peonalb:我跟楼上有相同疑问@@ 02/01 18:56
5F:→ fakeQQQ:那个不是加速 02/02 08:51
6F:推 peonalb:实际的比例3/11 0.25可以问一下出处吗? 02/02 14:19
7F:推 suao099:我以前有试过,大概和原PO一样,不过萤幕上只有整数格 02/02 17:10
8F:→ suao099:我觉得是侦测到数个count,滑鼠再移动一格 02/02 17:11
9F:→ suao099:但我其实没研究过。可以问如何知道游戏是用哪种读取方式吗 02/02 17:12
10F:→ fakeQQQ:很简单 你调整OS的那个速度 如果会影响游戏 那就不是RAW 02/02 17:23
11F:推 wolfspring:再推 02/05 16:45