Мыши: бессмысленный тест

Тестирования пяти офисных мышей
9 октября 2009, пятница 04:09
serj для раздела Лаборатория
Вторая часть. Первая - Мыши: оптический датчик

Оглавление

Вступление

Это совсем неполноценный обзор современной продукции, ибо - что было, о том и речь. Вопрос посвящен оптическим датчикам, поэтому другие, не менее важные, параметры мышек останутся за кадром. Как ни странно, большинство пользователей использует дешевую продукцию этой отрасли, так что тест может оказаться интересным. Под руку попалось совсем немного 'хвостатых созданий', но у меня нет возможности брать что угодно на тесты. На сём вводную часть закончим и призываю смирится с данным скудным набором.

Методика тестирования

Для тестов был изготовлен стенд в виде диска, на который ставится и фиксируется тестируемая мышка. Если Вы видели когда-нибудь патефон, то имеете представление о стенде. Диск мог менять скорость вращения, что давало эффективную скорость перемещения мышки по горизонтальной оси от 300 до 2500 мм/сек. Вообще-то, это второй вариант стенда. В первом диск вращался вертикально и имел скоростной диапазон от 560 до 10000 мм/сек. Как показали реальные тесты, современные мышки не могут перешагнуть рубеж в 2 метра в секунду и и этот вариант был забракован, пришлось изготавливать более тихоходный вариант. К сожалению, при переходе на второй вариант пришлось проститься с легкостью изменения высоты подъема мышки для определения высоты срыва. Для второго стенда применяются подкладки под мышь, которые и создают дополнительный зазор. Используется следующий набор - 0.1 мм, 0.3 мм, 0.5 мм, 0.8 мм, 1.25 мм, 1.8 мм, 2.5 мм, 3.75 мм.

Величина в 0.1 мм эмулирует нестабильность поверхности коврика и деструктивные временные воздействия - пыль, некоторое смещение оптики от тряски, 'микро взлеты' мышки при особо резких движениях. Странные цифры в 1.25 и 2.5 мм выбраны не случайно, как-то прижилась тенденция в измерении высоты отрыва мышки в количестве дисков CD. Величина 1.25 мм соответствует толщине одного CD диска. Точнее, эта прокладка и сделана из CD диска. Остальные величины просто выбраны как промежуточные значения и какой-то особой смысловой нагрузки не несут.

В результатах тестирования будут приводиться цифры:

  • Скорость срыва. Определяется по снижению чувствительности мышки на 30%. Т.е. тот порог, когда начинает ощущаться дискомфорт.
  • Максимальная скорость. Это скорость перемещения, при которой мышка как-то адекватно реагирует. Берется по порогу уменьшения чувствительности до 1/3 от номинальной. При этом мышка еще движется, но уже чисто условно. Скорость срыва и максимальная скорость берется по данным тестирования без использования дополнительного зазора.
  • Высота отрыва на высокой скорости. Когда мышку поднимают для переноса на другое место, скорость ее перемещения может быть низкой и высокой. Для идеальной мышки высота отрыва не зависит от скорости перемещения, но идеального ничего не бывает. Данный параметр берется для скорости перемещения 'скорость срыва' * 2/3, т.е. обычная ситуация при активной игре.
  • Высота отрыва на низкой скорости. Идея та же, но берется для случая малой скорости перемещения. Такая ситуация возникает при работе в Windows и особо важна в ответственных графических приложениях. Наверно, Вы сталкивались с ситуацией - "я поднял мышку, а она сдвинулась".
  • Увы, высота отрыва берется с большой дискретностью, что связано с недостатком стенда - затруднительно точно варьировать высотой подъема методом подкладывания пластинок.

    Офисные мышки

    Logitech 400 dpi

    Это обычная офисная мышка с красным дном и красной же подсветкой. О ней не сохранилось никакой информации, наклейка с маркировкой стерлась до пластика. (Тут вспоминается неприличный анекдот о студентке без пупка в общежитии). В мышке используется датчик ADNS-2051, рабочее разрешение 400 сpi.

    При подъеме мышки возникает эффект проскальзывания, несколько уменьшается чувствительность. В данной мышке вряд ли применялись хоть какие-то механизмы адаптации, поэтому пока все нормально. При подъеме на 0.5 мм срыв почему-то возникает раньше, а на 1.25 мм почему-то позже. Скорее всего, это связано с фокусным расстоянием оптики, оно настроено на подъем около 1.2 мм. Это хорошо, значит мышка будет компенсировать ухудшение освещенности объекта лучшей фокусировкой, а срыв будет четче выражен. А вот 0.5 мм связано с чем-то другим, скорее всего с используемым ковриком. Вопрос детально не исследован из-за принципа "Неуловимого Джо" (а кому он нужен, чтоб его ловить?) Обращаю внимание - мышка сохраняет возможность двигаться даже при подъеме на 2.5 мм.

  • Скорость срыва: 750 мм/сек
  • Максимальная скорость: 800 мм/сек
  • Высота отрыва на высокой скорости: 1.8 мм
  • Высота отрыва на низкой скорости: 2.5 мм
  • Если бы не слишком маленькие цифры, то это была бы идеальная мышка. Простая, легкая, очень отзывчивая. Есть игры, где не столь важны высокие cpi и еще встречаются люди, использующие подобные мышки. И это осмысленно - переход на 'новейшие' технологии не есть универсальное благо.

    Logitech M-BJ58

    Форма и внешние признаки как у предыдущей модели, дно темнее и та же красная подсветка. Какой стоит оптический датчик - не интересно. Мышка попала ко мне как неработающая, что видно на результатах тестирования. Впрочем, 'не факт', что такое поведение свойственно только данному экземпляру.

    Аномалия на аномалии, я даже не берусь сказать, какая у этой мышки чувствительность, цифры скачут как сумасшедшие. Ошибки нет, данные снимались неоднократно. Высота отрыва и скорость срыва примерно такие же, как и у предыдущей модели. Более точно сказать затруднительно, это какой-то винегрет. Попробуете поиграть на подобном чуде? Лучше пойдем дальше. А дальше пойдут мышки с новой, лазерной подсветкой и шумно разрекламированными параметрами. Поглядим, что стоит PR.

    Logitech RX1000

    Эту мышку я приобрел, польстившись на ее корпус - он напоминает офисные мышки Logitech, что удобно и привычно в руке. Плюс к тому новая 'примочка' - наклоняющееся колесико скроллинга. Мне приходится много работать с CAD приложениями, поэтому я использую мышку с двумя колесиками. Это удобно, когда возникает необходимость переместится по листу проекта. Привычка использовать 2 колеса уже устоялась, и подумал, что наклоняющееся колесо послужит какой-то симуляцией второго колеса. Да и в играх может здорово помочь.

    Может, может. Ага. Я уж не говорю, что нажать кнопку на колесе можно только кулаком со всего размаха, но это мелочь. Даже после аккуратного тюнинга этот механизм давал больше проблем, чем пользы. При активной игре как-то нет никакой возможности четко и аккуратно наклонить скроллинг не нажав на него и не повернув колесо. Вообще-то в те сотые доли секунды игры думаешь несколько о другом, если понятие 'думаешь' можно применить в этой ситуации. Короче, даже после долгой и старательно доработки мышка была закинута на шкаф и там валялась. Технология наклоняемого колеса и активные игры не совместно. Это лично мое мнение. В мышке используется датчик ADNS-7050.

  • Скорость срыва: 500 мм/сек
  • Максимальная скорость: 700 мм/сек
  • Высота отрыва на высокой скорости: 1.8 мм
  • Высота отрыва на низкой скорости: 2.5 мм
  • Вообще-то, офисные светодиодные мышки лучше этого чуда.

    Теперь перейдем к лазерным игровым мышкам A4 серии Х7. Большенство из них базируются на датчике ADNS-6010 с лазерной подсветкой. У меня есть две мышки - старая модель X-750F и новая серия XL-730K с продвинутым программным обеспечением. Увы, сохранились только отрывочные данные о тестировании недоработанных редакций мышек, прошу извинить.

    Оригинальная A4 X-750F

    Данные по этой мышке снимались еще на первом стенде, поэтому диапазон скоростей гораздо уже, чем хотелось бы. Других данных нет, а 'придумывать' несуществующие цифры и экстраполировать я не хочу.

    Интерес представляет последний график синего цвета. Довольно часто слышишь рекомендацию по уменьшению высоты отрыва в частичном заклеивании окна датчика. И вот что происходит, когда этой рекомендации последовать - мышка буквально убивается. Надо применять другие способы уменьшения срыва, этот - откровенная глупость. Кстати, при игре такая мышка ведет себя удивительно мерзко, что отчетливо чувствуется даже при не столь агрессивном стиле игры.

  • Скорость срыва: 900 мм/сек
  • Максимальная скорость: ~1200 мм/сек
  • Высота отрыва на высокой скорости: ~1 мм
  • Высота отрыва на низкой скорости: ~2.5 мм (примерно два CD, не измерялось)
  • A4 X-750F с измененным блоком оптики

    В первой части описывался способ уменьшения высоты отрыва за счет увеличения угла наклона подсветки. При этом отрыв происходил не за счет потери фокуса, а из-за ухода пятна подсветки из видимого окна датчика. Получилось вот что:

    Напоминает предыдущий тест, но просил бы не переносить цифры буквально - недоработанная мышка тестировалась на первом стенде и на нем были проблемы с устойчивостью. Все остальное было произведено на втором стенде. Впрочем, различий не особо много - при работе без зазора скоростные характеристики не претерпели существенных изменений. А вот реакция на подъем стала более агрессивной. Как недостаток этой агрессивности - мышка может работать только на коврике.

  • Скорость срыва: 800 мм/сек
  • Максимальная скорость: 1000 мм/сек
  • Высота отрыва на высокой скорости: 0.3 мм
  • Высота отрыва на низкой скорости: 0.8 мм
  • W-Mouse из XL-730K

    Извиняюсь, измерений оригинальной A4 X-750F не сохранилось. Единственное, что точно известно - высота отрыва на низкой скорости была около 3 дисков CD, что составляет 3.5-4 мм. Жутко много, мышкой можно было просто размахивать над ковриком как помелом. Ой.

    Для борьбы с этим злом мышка была переделана в W-Mouse заменой контроллера. Доработка будет в третьей части статьи.

    Если сравнить с предыдущими тестами мышек A4, то результаты сильно подросли. Это гораздо бОльшие скорости срыва и более стабильное удержание cpi в рабочем диапазоне скоростей. Для сравнения, пунктирной красной линией приведена характеристика при включенном режиме автоконтроля качества поверхности средствами самого датчика ADNS-6010. При этом мышка превращается в откровенный хлам. Ну, это и так видно по предыдущему тестированию. Как мне кажется, в серийных мышках используется только режим автоконтроля средствами датчика. А он работает плохо.

    По выделенной розовой зоне - датчик начинает выдавать отрицательное смещение. Т.е. при движении вправо он возвращает перемещение влево. Об этом эффекте и его природе будет разговор позже, не стоит комкать.

  • Скорость срыва: 1700 мм/сек
  • Максимальная скорость: 1750 мм/сек
  • Высота отрыва на высокой скорости: 0.5 мм
  • Высота отрыва на низкой скорости: 2.5 мм
  • Впечатления от высоты отрыва - не такие четкие, как в 750-ой с измененным блоком оптики, но стало уже сносно. По сравнению с оригинальной мышкой, изменение алгоритма работы контроллера и датчика W-Mouse привели к уменьшению высоты срыва. Скоростные характеристика наверняка стали лучше, но из-за отсутствия тестовых данных до доработки, сказать что-то конкретное крайне сложно. По крайней мере, впечатление от работы с ней поменялось в лучшую сторону.

    W-Mouse из X-750F

    Очень неприятно писать статью и приводить технические характеристики вида "как мне показалось". Эх, пришлось переделать мышку A4 X-750F, о которой говорил ранее, в W-Mouse. Теперь уж будуть точные, численные, данные до и после переделки и можно оценить вклад от правильной работы с датчиком, которой и славится W-Mouse.

    Как и на предыдущем рисунке, красная пунктирная линия означает включение автоконтроля средствами датчика. И, как и ранее, при этом получились худшие характеристики. Что интересно, они совпали с характеристиками оригинальной мышки A4. Это и подтверждает гипотезу об автоуправлении самим датчиком. Высота отрыва практически не изменилась. Обратите внимание, 'розовой' зоны с отрицательным движением, которая была у 730-ой модели, здесь нет.

  • Скорость срыва: 1750 мм/сек
  • Максимальная скорость: 1800 мм/сек
  • Высота отрыва на высокой скорости: 0.3 мм
  • Высота отрыва на низкой скорости: 0.8 мм
  • Наблюдения по данным тестирования

    Программная модернизация имеет право на жизнь. Конечно, она не столь эффективна, как доработка блока оптики, но проще в реализации и обладает массой других достоинств. Хотя может быть совмещена с ней без взаимных конфликтов. Уменьшение высоты срыва в W-Mouse осуществляется за счет отсечения 'хвоста', когда датчик работает на пределе чувствительности из-за сильной расфокусированности картинки. Это сопровождается утратой работоспособности на некоторых поверхностях, но никак не отражается на работе с нормальными-хорошими поверхностями. Ну а то, что мышка не может двигаться по руке ... это небольшая плата за снижение высоты отрыва в 1.5 раза.

    Отрицательная чувствительность на графиках тестирования W-Mouse ( 730-ой модели ), скорее всего, вызвана некорректной работой датчика при очень четкой картинке. Если между соседними кадрами изображения поверхности произошел сдвиг на 1/2 размера окна и сам рисунок повторяется, то датчик физически не способен понять, в какую сторону ему считать образцовый отсчет. Все видели в кино, когда колесо вращается в сторону, противоположную направлению движения - это эффект стробоскопа. В датчике происходит тоже, он путается. Страшно даже не то, что мышка двинется в другую сторону, а то, что ошибка в выборе опорного кадра приведет к дикой ошибке по другой координате. Например, Вы резко двинули мышку вправо. Положим, примерно четверть этого была на запредельной скорости и было 'проглочена' датчиком в отрицательное смещение. Вы это отчетливо заметите? Да не особо, курсор переместится не на 2/3 величины реального передвижения, а только на 1/2. А вот что будет с движением по оси Y? А будет очень неприятное, в момент срыва мышка 'плюнет' резким движением по оси верх-низ. И это уже очень-очень плохо. Думаю, Вы оценили значимость сего дефекта.

    При тестировании я не указал, но так есть и это важно - при падении cpi на всех мышках резко возрастал шум на оси Y. Например, для чувствительности мышки 1000 cpi фоновый шум по оси Y в 10-30 cpi (мышка так позиционировалась на стенде, чтоб движение было только по оси X, но нет ничего идеального и часть движения попадала на составляющую Y). Так вот, при уменьшении cpi следовал резкий рост cpi (шум) по оси Y до 300-400 cpi. Это означает, что значительная часть перемещения отправляется в неправильную координату. Резко маханули, на четверть от этого движения курсов скакнет вверх (или вниз, зависит от мышки).

    Наиболее вероятную причину дефекта я озвучил выше. Другой момент, оставшийся за кадром - устойчивость, дрожание курсора на низких скоростях движения мышки. Это трудно померить, стенд плохо берет скорости ниже 300 мм/сек, да и Windows не realtime система для четкого отождествления отсчетов. W-Mouse из 730-ой модели показывала очень устойчивый курсор, никакого дрожания и прочих 'нехорошестей'. Ну, для того эта мышка и разрабатывалась. А вот оригинальная A4 X-750F имела явные проблемы с шумом. Попробуйте неторопливо провести плавную линию, окружность в графическом редакторе, хотя бы в том же Paint, и Вы поймете, о чем я говорю. Линии будут неровными с хаотическими отступами в разные стороны.

    При движении мышки обычные методы подавления шума датчика отключаются. И вот во что это выливается Вы видите на ломаных линиях. В W-Mouse с этим борются двумя приемами - очень качественной работой с низкими скоростями перемещения (не только фильтрацией, много других решений) и динамическим управлением чувствительностью, когда чувствительность мышки зависит от скорости ее перемещения. Все параметры можно настроить через программу управления и они сохранятся в мышке. В первом приближении, динамическое ускорение напоминает настройку в свойствах мыши Windows "повышенная точность установки указателя", но работает корректнее. Если не понравится вид зависимости, всегда можно подкрутить пороги и крутизну функции. Очень часто я слышу рекомендацию отключать "повышенная точность установки указателя", ведь от нее только вред. Не интересно узнать, почему?

    Повышенная точность установки указателя в драйвере Windows

    Попробую снять зависимость множителя этой функции к скорости движения мышки.

    Несколько необычно звучит скорость в 'точек в секунду'. Когда характеризуют мышку, то говорят о cpi, а эта система измерений основана на дюйме. Чтоб не запутывать еще больше, приведу конкретный пример - мышка с чувствительностью 1000 cpi на скорости перемещения 1 метр в секунду дает почти 40000 отчетов в секунду. При скорости перемещения 0.1 метра в секунду - почти 4000 отчетов в секунду. И т.д.

    Ну что, "повышенная точность" понижает чувствительность на очень низких скоростях перемещения и повышает на высоких. Зависимость линейная во всем диапазоне, что очень хорошо, но почему же так ее не любят? Ответ в графике - она рвется на высоких скоростях. Смешно, всего 1 м/сек для весьма низкой чувствительности в 1000 cpi.

    Второй момент - на низких скоростях есть дефект с нестабильным коэффициентом. Это не моя ошибка снятия данных и сейчас поймете почему. При низкой скорости перемещения из мышки приходят изменения на 1-2 отсчета за раз. Отвлекусь, это зависит от частоты считывания данных из мышки, еще и поэтому вредно "разгонять" интерфейс USB. Вернемся назад, из мышки считываются данные о перемещении и приходят цифры типа 0, 1, 2, 3. Ускоритель смотрит на сами цифры. Он видит, что после 1 приходит 2, что означает двукратную скорость. А раз скорость в 2 раза, то и ускоритель надо увеличивать. Вот и выходит, что при применении ускорителя смещения 0,1,2,1 превратятся в 0,1,3,1. Я несколько утрирую, но суть сохранил. Кстати, примерно также работал удвоитель скорости в старых оптических мышках. Там было табличное преобразование вида 1->1, 2->3, 3->5, 4->7, 5->9, 6->12, и далее в два раза больше. Не особо изящно, но работало. Правда, все старались отключать. W-Mouse тоже выполняет похожее преобразование, но сами числа вычисляются с высокой точностью, под дробную часть отводится 16 бит, с сохранением истории. Например, надо передать число 1.25, а в следующий раз 1.56 и затем 2.37. Увы, драйвер Windows понимает только целых числа, поэтому будет отправлено число 1, остаток 0.25 прибавится к следующему отсчету и будет отправлено 2, а этот остаток в -0.19 прибавится к третьему отсчету и будет отправлен 2 с постостатком 0.18. Думаю, идея понятна - информацию можно передавать достаточно точно даже в такой системе. Раз уж говорили об ускорителе Windows, то и о реализации в W-Mouse надо рассказать.

    Ускоритель на W-Mouse

    Идея ускорителя основана на том, что скорость движения и требуемая точность связаны. Когда нам надо точно попасть во что-нибудь (кого нибудь?), то мы снижаем скорость. Условно говоря, существует два режима работы мышки - быстро и не столь точно и медленно и с высокой точностью. В настройках можно менять начальные и конечные пороги ускорения, а также крутизну зависимости от нелинейной с разной степенью нелинейности до чисто линейной.

    Ну что, заявленные характеристики в W-Mouse выдерживаются, а вид зависимости Вы можете подобрать самостоятельно. Лично я пользуюсь кривой "-4", тогда мышка плавно и незаметно ускоряется при увеличении скорости перемещения от самых низких до самых высоких. В данном случае максимальная пороговая скорость 1 метр в секунду, но из-за внутренних проблем мышки, она учитывает шум и перемещение по другой оси, порог снижается до 800 мм/сек. Не слишком красивая перспектива и позже величина порога была изменена. На виде графиков это не отражается, поэтому перетестировать не стал.

    На этом сегодня закончим. В заключительной части материала вас ждет материал о сборке мыши с улучшенными характеристиками. Продолжение следует...

    serj

    Обсудить материал в конференции

    Теги