1、DPI(CPI)的意义 DPI、CPI这两个词汇现在已经完全混淆了,我就不研究它们的区别了,只研究它们最常用的意义。 DPI(CPI)是一个表示精度的硬件指标。个人的理解,在光电鼠标中,这个量表示的是为了能被人观察到的屏幕上的变化,鼠标必须移动的最小的距离。这里所说的能被人观察到的屏幕上的变化,可以是光标移动1个(或N个)像素,也可以是在FPS游戏里转身10度。这个变化可以由鼠标驱动或软件(游戏)的设定来改变,但其中最基本、最细微的变化只能是光标移动1个像素。我们下面就讨论1个像素变化的情况。 而鼠标必须移动的最小的距离,是DPI的倒数。假设某鼠标是200DPI,那么这个鼠标A必须移动1/200英寸,屏幕上光标移动1个像素。而另一各800DPI的鼠标B,只须移动1/800英寸,光标就能移动1个像素。这是第一层意义上的精度差别,就是鼠标对微小移动的响应能力。 当鼠标B移动了1/200英寸时,屏幕上光标可以移动4个像素。其表现出的结果就是鼠标B的光标移动速度是比鼠标A快4倍(这时候鼠标本身的移动速度是一样的)。 那么在同样的鼠标移动距离下,DPI值低的鼠标A能不能获得较高的光标的移动速度呢(注意,是光标的速度)?当然没问题,驱动里来个加速就行了。一次不是移动1个像素,而是4个像素,那么它就能和鼠标B的光标移动速度一样了。 但是新的问题又产生了,鼠标1本身快速移动的也许还看不出,当鼠标慢速移动时,就会发现鼠标在屏幕上的光标总是只能在4的倍数号的像素上停留,鼠标光标在跳动着移动。这是第二层意义上的精度差别,就是鼠标对屏幕像素的操纵能力。 所以高DPI鼠标,可以由小幅操作获得高响应,并同时保持高度的像素的操纵能力。
2、光电鼠标的DPI值决定方法 DPI(CPI)是一个硬件指标,就应该由鼠标的硬件来决定。光电鼠标的DPI值主要取决于光学引擎中的CMOS矩阵和配套的透镜。 以上面的200DPI的鼠标A为例,它能对1/200英寸的移动做出反应,也就是说每移动1/200英寸CMOS矩阵上的成像至少产生1个像素的平移。这一个像素也就对应了1/200=0.005英寸。而这个像素本身有多大呢?以一个10*10的矩阵为例,它的一边长度为0.1英寸,那它的一个像素的边长就是0.01英寸。为了能让一个像素对0.005英寸的移动产生反映,就需要用一个2倍的透镜来放大使之一一对应。公式为:像素边长=透镜被率/DPI值。 如何提高DPI值呢?有2个办法。 A、提高COMS矩阵的像素密度。设边长0.1英寸不变,提高像素密度为20*20,则一个像素的边长就是0.005英寸,同时透镜一味率2倍不变,这样就可以对0.005/2=1/400英寸的移动产生反应,也就是提高到了400DPI。 B、换用高放大被率的透镜。COMS矩阵不变,像素的边长就是0.01英寸,透镜一味率提高到4倍,也可对0.01/4=1/400英寸的移动产生反应,也提高到了400DPI。 方法A、B可以单独或同时使用。能采用方法A的只能是光学引擎的生产商,而换透镜普通鼠标生产商也有可能做到。鼠标中采用的塑料透镜本身精度很低,安装公差也不是很高,随意提高倍被率会造成很大的成像失真,可能得不偿失。 PS:安捷伦的2051之类的400/800DPI可选我猜测可能是下面这种情况:提高COMS矩阵的像素密度,会造成良品率低,所以就把DSP设计成2种精度可选,完全没问题的良品就让一线厂商用800DPI(当然400DPI也可以用,但估计没人会这样设),有瑕疵的就让二线厂商用400DPI(可能有些LJ厂商会用这种芯片造800DPI的鼠标)。这种做法就和INTEL把缓存有瑕疵的P3/P4改菜羊差不多。