懒懒的忘记酱吧 关注:682贴子:23,984

详解鼠标漂移藕酥手滑的问题以及鼠标调试

只看楼主收藏回复


解疑所有感觉鼠标手滑,鼠标漂移,无论是fps还是osu都可以看看。
ps:藕酥,乃osu。一款音乐游戏。这里顺便推荐下。由于本人玩fps都还好。非高端cs玩家。这贴主要是针对鼠标调试和藕酥。


IP属地:江苏通过百度相册上传1楼2013-01-29 23:13回复
    IP属地:江苏2楼2013-01-29 23:15
    收起回复
      地球人都知道控制面板中的鼠鼠标指针选项。是开启鼠标加速的选项。由于在电竞、作图等领域需要对鼠标的精确控制,高阶用户都习惯关闭提高指针精确度。
      但是这个选项不一定代表你的鼠标移动的精确了。
      我们先略过鼠标引擎对信号的处理,只考虑软件方面。鼠标CPI全称counts per inch,每英寸测量数,一般容易误称为DPI,也就是dots per inch,每英寸点数,点代表屏幕上的点,即像素。只有当鼠标报告的单位移动导致指针在屏幕上移动正好一像素时,DPI才等于CPI。此时鼠标移动与指针移动之间的关系称为“精确一比一”。比如DPI最常用的为400,此时单位移动距离为1/400英寸,当鼠标移动1/400英寸时,鼠标向系统报告一个单位移动。如果设置为精确一比一,那么指针将精确地移动一个像素。


      IP属地:江苏3楼2013-01-29 23:15
      回复
        所以理想情况下,要达到指针对于鼠标移动的精确反映,那么不仅要去除加速,精确一比一也是必要的。如果设置不是精确一比一,那么一部分小幅鼠标操作会有延迟或被舍弃。
        Windows中应用程序共有四种方式读取鼠标输入数据:
        1. WM_MOUSEMOVE函数(大多数非游戏程序、老游戏采用,受EPP影响)
        2. GetCursorPos函数(老游戏采用,受EPP影响)
        3. DirectInput(DirectX组件,涵盖鼠标、键盘、摇杆和其他手柄,不受EPP影响)
        4. Raw Input/WM_INPUT函数(新游戏采用,不受EPP影响)
        WM_MOUSEMOVE和GetCursorPos均为通过Windows读取鼠标动作,Raw Input/WM_INPUT为直接从鼠标读取的最底层数据,DirectInput与Raw Input类似但一般用于摇杆或手柄的读取。WM_INPUT对于游戏来说是最好的方式,因为它直接读取底层鼠标数据,给予精确一比一的鼠标灵敏度,并铲除了加速度的祸根。包括CS在内的大多数老游戏都采取了第一种方法WM_MOUSEMOVE。对于采取WM_MOUSEMOVE或者GetCursorPos的程序,EPP会影响程序中的鼠标加速度。一些程序会在默认情况下自动开启EPP,一些程序不会。   因此,如果一款游戏受Windows 加速度曲线(由注册表定义)的影响,它必须满足以下两个条件:  1. 使用WM_MOUSEMOVE或GetCursorPOS读取鼠标输入数据,而不是Raw Input或DirectInput  2. 程序运行时自动启用EPP   在EPP禁用的情况下如果程序运行时自动启用EPP,那么桌面控制面板的EPP设置会被覆盖。这时需要利用补丁等手段去除加速度;反之,在EPP禁用的情况下如果程序运行时不自动启用EPP,而是尊重用户的系统设置,那么在控制面板中禁用EPP已经足以去除加速度,不需要任何补丁。


        IP属地:江苏4楼2013-01-29 23:15
        回复
          ls大家如果看得头疼。那纯粹是因为他就是个卖萌的。。真正重要的解释在这里。
          对于所有常见的Windows系统,如果EPP关闭,则OS加速处于禁用状态。此时控制面板中的滑块对应一个比例系数用于缩放鼠标的运动,以达到增快或减慢鼠标速度的目的。如果EPP开启,则鼠标速度由比例系数和注册表加速曲线共同控制。下表为控制面板中鼠标灵敏度与比例系数的对应关系:


          IP属地:江苏5楼2013-01-29 23:16
          回复
            为什么在任何系统中都推荐使用默认的6/11?因为只有6/11时倍乘系数为1,此时鼠标移动与指针移动是精确一比一的关系。即便加速已经去除,使用任何其他的档位时,系统都会通过倍乘缩放鼠标移动,导致移动的不准确。   举例来说,假设控制面板设置为3/11,鼠标移动3个单位,经过运算3*0.25=0.75,指针不会移动;下一次USB回报时报告鼠标再移动2个单位,经过运算2*0.25=0.5,与上次移动余数相加为1.25,这时指针才会移动1个像素。此时定位的不准确是由于倍乘系数<1,导致鼠标的细微运动在屏幕上没有反映。
            除了过快的鼠标速度,强直线修正也会导致这种现象   假设控制面板设置为9/11,鼠标移动1个单位,经过运算1*2.5=2.5,指针移动2像素;下一次USB回报时报告鼠标再移动1个单位,经过运算1*2.5=2.5,与上次移动余数相加为3,这时指针移动3个像素。这样一来,同样的鼠标移动,在屏幕上却会导致不同的指针移动。而且,即便鼠标以最小单位逐步移动,屏幕上仍有某些像素一定会被跳过,无法用指针精确定位到。此时定位的不准确是由于倍乘系数>1,导致精密定位的困难。


            IP属地:江苏6楼2013-01-29 23:16
            回复
              好啦。深奥的部分到此结束。如果看不懂的的话,说几句简单的。
              1.提高鼠标精确度绝对要关闭。
              2.回报率也不要设定太高。
              3.鼠标dpi设定为6/1,精确度设定为一比一。(下面我会详细说明设定方法的


              IP属地:江苏7楼2013-01-29 23:17
              回复
                现在我们开始一步步调教鼠标君。下载这个软件MouseMovementRecorder。
                http://pan.baidu.com/share/link?shareid=271177&uk=2837937894
                解压开之后会是这样


                IP属地:江苏8楼2013-01-29 23:17
                回复
                  戳开MouseMovementRecorder,你会发现弹出了这个窗口。

                  然后任意移动鼠标。随意移动。只要你发现有红色或者绿色。那就说明。。。。
                  红色部分就是你比鼠标实际移动的过程多。绿色就是偏少。右边的部分则是理论移动轨迹。


                  IP属地:江苏9楼2013-01-29 23:17
                  回复
                    如果你和我之前没有设定一样。大规模(三四个以上)或者哪怕是几个红绿。那就要恭喜你了。漂移是妥妥的。这里要说明一下:下面的修复工具绝对管用。但是win7系统原因。屏幕四边。无论你是调过还是没调过。都一样很多的移动轨迹。

                    截图此时我的鼠标君在屏幕最左侧,相信我,屏幕边缘都会出现超多的问题。调试后也是如次。这一点先说明了。


                    IP属地:江苏10楼2013-01-29 23:18
                    回复
                      运行这一个

                      出现这样的对话框,
                      这是自动判断你系统的。不修改选择确定。


                      IP属地:江苏12楼2013-01-29 23:18
                      回复
                        大家有没有被大坨的红绿色吓坏呢。。。大丈夫。关上那个测试工具吧。下面是解决软件。
                        接着下载这个软件MarkC_Windows7+Vista+XP_MouseFix_Builder_1.4。
                        http://pan.baidu.com/share/link?shareid=271182&uk=2837937894
                        解压后如图所示。

                        我这里会多出来一个Windows7_MouseFix_TextSize(DPI)=100%_Scale=1-to-1_@6-of-11注册表。这是我自己设定后的东西


                        IP属地:江苏13楼2013-01-29 23:19
                        回复
                          运行这一个

                          出现这样的对话框,
                          这是自动判断你系统的。不修改选择确定。


                          IP属地:江苏14楼2013-01-29 23:20
                          回复
                            上一步确定后会出现这个。

                            dpi设定。不要修改继续点确定。


                            IP属地:江苏15楼2013-01-29 23:20
                            回复
                              最重要最关键的出来了啊。。注意这里~
                              接着上一步后出现这个。

                              注意注意!这里就是前面那些高深的综合:6/11.传说中的六比十一。至于为什么这么设定看上面。如果你也是直接显示⑥。那么确定就好了。


                              IP属地:江苏16楼2013-01-29 23:21
                              回复