动机
大家好,我一直很好奇鼠标 DPI 和轮询率的真正定义是什么,以及鼠标向计算机发送了什么类型的信息。我很好奇,因为我想了解更改鼠标的不同参数有什么好处或坏处。这些动机来自于在计算机上玩 FPS 游戏。
我的理解
已发送信息
据我所知,鼠标最有可能向计算机发送的是鼠标移动增量。这些增量以某种形式表示鼠标移动的变化量,因此,如果您的鼠标静止不动,它将发送 (0, 0),如果您将其向右移动一点,它将发送 (0, +3) 或类似的数值,以进行一些更新。
我不认为这会是屏幕上的绝对位置,因为这样鼠标就必须知道屏幕的尺寸。然后计算机将接收这些鼠标增量,并根据光标当前的位置,它允许我们通过软件将其更新到新位置
详细参数
目前我对 dpi 的理解是它代表“每英寸点数”。正如本网站上其他文章和问题中所讨论的那样,许多人认为 dpi 与屏幕像素是 1 比 1 的对应关系。
如果情况确实如此,那么使用 800 dpi 的鼠标,在物理世界中移动鼠标 1 英寸相当于在屏幕上移动 800 像素的距离。如果这是真的,那么将鼠标插入带有 800x800px 方形显示器的计算机,其灵敏度将比插入 1600x1600px 显示器的计算机快两倍。(两个显示器的物理尺寸相同)
在阅读这些文章之前,我认为 DPI 是一个在显示器尺寸和分辨率上不变的属性,并且通常只是确保在插入新计算机时所有鼠标参数都匹配,并且似乎在不同的计算机上产生相同的结果。
我个人认为,由于我们如今使用的光学鼠标都有图像传感器,因此这个 DPI 指的是鼠标的 DPI图像传感器可以在鼠标中实现虚拟更改。
如果我们的鼠标 A 具有 4 dpi 和一个 1x1 英寸的方形传感器,它会拍摄鼠标垫顶部的快照,如下所示(为清晰起见,像素用橙色分隔):
那么我们就可以利用这个灰色缺陷来检测运动
如果我们的传感器设置为 2dpi,它会报告:
由于分辨率不够高,因此无法利用灰色缺陷来检测运动。
如果 dpi 确实是这样工作的,那么平均而言,较低的 dpi 鼠标 dpi 将检测到较少的移动,并且总体上会产生较低的灵敏度
轮询率
鼠标 A:5hz 轮询率 鼠标 B:10hz 轮询率
据我所知,轮询率是鼠标通过 USB 端口向计算机发送信息包的速率。
即使鼠标 B 发送信息的速度是鼠标 A 的两倍,但增量只会是其一半,因此整体灵敏度不会改变。
即使鼠标灵敏度没有变化,它也能够更快地检测到运动的变化,从而为您提供更快、更灵敏的鼠标移动。
鼠标抓取应用程序
如果我们假设 dpi 是相对于屏幕像素的,那么 dpi 可能并不完全有意义,因为鼠标实际上并没有在屏幕上移动,因为找不到光标(想想可以无限旋转的 fps 游戏)。所以我假设这些类型的应用程序可能只是直接从支持鼠标增量输出的鼠标输出增量中读取。
我的问题
正如我所说,这些是我对鼠标灵敏度工作原理的理解和想法。我希望对于我写到的每一部分,如果有人能更详细地理解它们或指出我的理解中的缺陷,那么他们可以帮助我纠正我的理解或为我指出进一步的文章。
参考
为了尝试理解这一切是如何运作的,我阅读了这篇文章光电鼠标然后我用了zowie ec3-c 鼠标作为参考点,并观察它的传感器 3360 传感器,而且数据表其中它在寄存器表中讨论鼠标增量。