Оптические мышки. Что такое DPI и CPI. Для чайников
Оптические мышки. Что такое DPI и CPI. Для чайников
.
В последнее время стало модным ассоциировать высокое значение DPI оптической мыши с высокой точностью её сенсора. Производители игровых девайсов в рекламных буклетах не стесняются прибавить десяток восклицательных знаков к цифре dpi своей новой «революционной мышки» (3200!!! DPI, 6400 DPI!!!!!, 12000 DPI!!!!!!). Рынок диктует свои правила. Конечно, современный мир крайне технологичен, и у обычного человека просто не хватает времени разобраться во всяких телевизорах, андроидах, автомобилях и прочих модных штуках. Что уже говорить о какой-то мышке. Но мы попробуем разобраться, что же такое на самом деле DPI и зачем оно нужно.
Откуда растут ноги
Для начала разберемся, каким образом у людей высокое значение DPI ассоциируется с высокой точность. Скорее всего, тут работате простая аналогия с фотоаппаратом. Все знают, 0.3 mpx (мегапикселя), как на старых телефонах – это плохо: смазанная картинка, плохо видны детали. А вот 8 mpx как в iPhone – это хорошо, потому что все видно очень четко. «Так, наверное, и в мышках», - думают люди, - «в них же тоже есть пиксели». Ведь DPI формально означает "Dots Per Inch", т.е. буквально «ТОЧЕК НА ДЮЙМ». Т.е. больше точек, - лучше видны детали поверхности, – следовательно, мышка может различать даже самые мелкие свои движения. И это позволяет в играх точнее наводить курсор/прицел. Вот и все объяснение. Правильно? Логично? Логично, но, к сожаленью, В КОРНЕ НЕПРАВИЛЬНО!
Как работает оптическая мышь
Сенсоры оптических мышек действительно работают по принципу фотокамеры – они постоянно фотографируют поверхность, по которой ездит мышь и, сравнивая между собой полученные снимки, определяют куда двигается мышь. А для регистрации снимков используются матрицы, состоящие из светочувствительных элементов, т.е. пикселей. Вот что собой представляют матрицы некоторых игровых сенсоров (также указано максимальное значение dpi):
Microsoft 3.0/1.1, сенсор MLT04 ST, 400 dpi, 22х22 светочувствительных элементов
Logitech MX518, сенсор Avago 3080, 1600 dpi, 30х30 светочувствительных элементов
Logitech G400, сенсор Avago 3095, 3500 dpi, 30x30 светочувствительных элементов
Как видно, размеры самих сенсоров в пикселях крайне невелики! Например для сенсора 30х30 общее число пикселей будет 30x30=900 px , в то время как даже у старого фотоаппарата на 0.3 мегапикселя размер сенсора будет 640х480=307200 px! Откуда тогда берутся числа DPI?
Оптическое разрешение мыши
Дело в том, что в оптических мышках, изображение поверхности, по которой мы водим мышь, попадает на сенсор через увеличивающую линзу (Рисунок 1). Увеличение необходимо, чтобы лучше различать текстуру поверхности. Если посмотреть на обычный черный коврик для мыши, то он вроде бы везде одинаковый. Но взгляните на него под микроскопом – и каждый миллиметр поверхности будет по-своему уникален! Таким образом, на сенсор оптической мышки попадает лишь небольшая часть поверхности в виде квадрата. Обозначим сторону этого квадрата L. Если сенсор имеет NxN светочувствительных элементов, то (следите за руками) значение DPI сенсора будет равно:
DPI = N/L
ИМЕННО ТАК!
Это так называемое "базовое"или "оптическое" разрешение мыши.
Очевидно, что для увеличения DPI, достаточно просто уменьшить площадь поверхности, которую будет видеть сенсор, т.е. поставить более сильную линзу. Но даже в этом случае сенсор будет работать с изображениями, полученными только своей маленькой матрицей. Поэтому DPI напрямую не имеет никакого отношения к точности мышки. Это просто характеристика ,показывающая какую площадь поверхности охватывает сенсор, и зависит от свойств линзы и размера светочувствительной матрицы сенсора.
Тем не менее, на разных расстояниях сенсор может по-разному различать поверхность, лучше либо хуже. И именно это в наибольшей степени определяет точность сенсора!
Сильное увеличение (высокое значение dpi) приводит к тому, что в сенсор попадает слишком мало света и фотографии становятся "шумными" (вспомните цветные пятна на фотографиях, сделанных ночью). А слабое увеличение(низкое значение dpi) не позволяет сенсору "видеть" текстуру поверхности. Кроме того, качество самих светочувствительных элементов тоже играет важную роль. В современных игровых мышках базовое разрешение находится в диапазоне 400-800 dpi.
DPI vs CPI
Полученные матрицей фотографии сенсор сравнивает между собой и по смещению рисунков определяет направление и скорость движения мышки. При этом, минимальное расстояние, пройденное мышью, которое может физически зарегистрировать её сенсор – это расстояние, которое фиксирует по крайней мере ОДИН светочувствительный элемент. Т.е. при перемещении мышки на расстояние L сенсор может считать максимум N движений. Поэтому для мышек более правильным будет использовать аббревиатуру CPI – countsper inch, т.е. количество считываний на дюйм.
Для тех, у кого по-прежнему возникают трудности с пониманием dpi/cpi, предлагаю внимательно проанализировать следующую картинку (Рисунок 2).
Рисунок 2. DPI vs CPI
"Цифровое" разрешение мыши
Современные методы сравнивания изображений позволяют определять параметры движения с субпиксельной точностью. Т.е. даже если на матрице изображение сместилось всего на один пиксель, сенсор может определить смешение на 5-10 пикселей! В сенсоре Pixart PMW3366, соотношение "один пиксель - одно считывание" выполняется лишь при 800 dpi. А максимальные для этого сенсора 12000 dpi достигаются его возможностью выдавать 16 считываний на один реальный пиксель.
При таком подходе, требования к качеству исходного изображения становятся еще более жесткими. Любой лишний "шумок" может катастрофически влиять на качество трекинга. Именно поэтому, для большинства сенсоров КАЧЕСТВО ТРЕКИНГА ЛУЧШЕ НА НИЗКИХ DPI.
Зачем нам высокие dpi?
Каждое считывание мышки обрабатывается операционной системой. При стандартных настройках указателя мышки в Windows каждое считывание означает перемещение курсора ровно на одну точку на экране. А количество точек на экране зависит от разрешения монитора. Если разрешение экрана установлено 1920*1680, то мышь с 1600 dpi пройдет весь экран слева направо, если её передвинуть на 1920/1600=1.14 дюйма, т.е. всего за три сантиметра, а мышь с 3500 dpi – за 1.5 см! Т.е. ЧЕМ БОЛЬШЕ CPI (DPI) ТЕМ БЫСТРЕЕ МЫШКА БЕГАЕТ ПО ЭКРАНУ! И это, пожалуй, единственное явное преимущество высоких CPI – они позволяют комфортно водить мышкой по экранам с большим разрешением. Правда, для сегодняшних разрешений вполне хватает и 1000-3000 cpi. А вот в 3D играх каждое считывание мыши означает поворот на некоторый заданный угол. Для таких игр будет достаточно и 400 dpi.
В случае с MX518, минимальное расстояние, которое различит сенсор мыши при её перемещении будет равно L/N=1/DPI=1/1600 0,000625 дюйма, т.е. примерно 0,015 мм! В случае с Microsoft 3.0/1.1 (400 cpi) это расстояние будет равно 0,0625 мм. Очевидно, что чем больше CPI, ТЕМ СЛОЖНЕЕ навести мышку на конкретный пиксель на экране. Это похоже на прохождение гоночной трассы – вписываться в повороты легче на маленькой скорости (т.е. на малыхCPI).
Переключение dpi
Есть один момент. Многие мышки имеют кнопку переключения CPI. Что это значит? Допустим мы переключились с 1600 cpi на 800. В этом случае, сенсор просто будет пропускать каждое второе считывание. А если переключимся на 400 dpi – сенсор будет пропускать 3 считывания из четырех. Именно по этой причине, мы говорим именно о максимальном значении CPI сенсора. Выше него, увы, сенсор правильно работать не может. Что будет, если мы захотим наши максимальные значения 1600 cpi превратить в 3200? Мышь просто будет «придумывать» считывания, лежащие между двумя «реальными» считываниями. И такое явление не редкость. Кроме того, изменение CPI также может происходить "программно", например при обработке считываний программным обеспечением мыши в операционной системе. Но это происходит уже вне сенсора, и далеко не всегда благополучно сказывается на точности и скорости отклика сенсора.
Практический урок. SS Kinzu V2 и SS Kana
Как ни странно, обе мышки имеют один и тот же оптический сенсор PixArt PAW3305. Размер матрицы 32х32 элемента. Единственное, чем они отличаются – это линзой. В Кане она увеличивает изображение в два раза слабее. Что в итоге? Поскольку сенсор Каны видит в два раза больше поверхности, это позволило чуть ли не вдвое увеличить максимальную скорость движения, при которой сенсор все еще считывает движения. В случае с Kinzu V2 любое резкое движение просто опрокинет ваш прицел в пол. Но есть и обратная сторона медали. Поскольку сенсор Каны видит в два раза больше поверхности, согласно формуле CPI=N/L, получится, что его реальные CPI уменьшаться в два раза! И если у Кинзу максимальное значение CPI равно 3200, то у Каны оно становится равным 1600. Но производитель SteelSeries заявляет для Каны максимальное CPI такое же как и у Кинзу, т.е. 3200!!! Вот и получается, что сенсору приходится просто вставлять между каждыми своими реальными считываниями одно придуманное, что приводит к ужасной точности Каны на 3200 CPI. Такие вот маркетинговые дела.
Наш сайт почти не содержит рекламы, он существует за счет вашей поддержки. Поддержи нас, если статья была полезной. Спасибо.