Ускорение сканера

Ускорение сканера

Многих интересует не скорость работы сканера как таковая, а возможные методы повышения этой скорости. Иногда спрашивают даже о способах аппаратного \"разгона\" (overclocking) сканеров. Приверженцев последнего вынужден буду сразу разочаровать: overclocking сканера невозможен, даже чисто теоретически, как и \"разгон\", скажем, осциллографа :-). Внутри сканера Вы не найдете ни одного элемента (переключателя, перемычки, дополнительного разъема), предназначенного для подобной операции... Почему ? Потому что большинство электронных каскадов Вашего инструмента весьма чувствительны к изменениям тактовой частоты, и если эту частоту повысить более чем на 1...2% - сканер просто перестанет работать. 

\"В лоб\" эта задача не решается. Поэтому предлагается задачу переформулировать, и вместо \"повышения скорости\" говорить об \"экономии времени при сканировании\". Как показывает практика, существуют три основных способа уменьшить время оцифровки изображения: 

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

Научиться оптимально выбирать параметры сканирования конкретного оригинала; 

Не пользоваться устаревшими версиями драйвера сканера. 

На вопрос об оптимальной конфигурации компьютера готового ответа нет: быстродействие системы \"компьютер+сканер\" в общем случае зависит от множества разнородных и взаимно-зависимых параметров. Ниже будет предпринята попытка выделить наиболее значимые из них. Зачем это нужно? Эта статья предназначена в первую очередь для человека, мучимого вопросом \"А что бы здесь подкрутить, чтобы оно забегало?\", возможно, даже расстроенного отсутствием ручки с надписью \"Скорость\", которую можно было бы до упора повернуть... Поэтому цель статьи состоит в том, чтобы разобраться: что, где и как имеет смысл настраивать. 

Выбор параметров сканирования - тема достаточно распространенная, этому вопросу посвящено немало материалов, как в Сети, так и в компьютерной периодике, так что здесь останавливаться на нем не будем. Достаточно привести универсальный совет: не увлекайтесь разрешением... больше - не значит качественнее. Информацию по оптимальному выбору параметров сканирования можно найти на mustek.ru, scaner.ru и на ixbt.com (в разделе \"Периферия\"). 

Выбор версии драйвера в числе основных способов упомянут не случайно: известно немало случаев, когда вполне исправный аппарат на грамотно конфигурированном компьютере работал медленно и неустойчиво только потому, что управлялся драйвером \"позавчерашней\" версии. Информацию об актуальных версиях драйверов Вы всегда можете получить на сайтах mustek.ru и scaner.ru 

Немаловажным оказывается и вопрос выбора операционной системы. Дело в том, что производители сканеров класса SOHO ориентируются на массового потребителя, который по статистике скорее предпочитает Windows 3x/95/98, чем DOS, Windows NT и *nix-клоны. Естественно, драйвера в первую очередь пишутся для Windows 3х/95/98, а уже потом выпускаются версии, переделанные для работы под другими ОС. Поэтому не стоит удивляться, если Ваш аппарат неустойчиво работает под экзотической операционной системой - этого следовало ожидать. Под какой системой лучше работать со сканером, я думаю, Вы уже поняли... :-) 

Теперь вернемся к наиболее сложному вопросу: оптимальная конфигурация компьютера. Чтобы иметь возможность оценить вклад каждого из участвующих в обработке сигнала устройств и выделить те параметры, влияние которых велико, потребуется рассмотреть весь процесс сканирования - от инициализации сканера до вывода на экран готового образа. Привести обобщенный алгоритм сканирования было бы весьма затруднительно, однако можно выделить несколько основных этапов этого процесса. При оцифровке любого изображения при помощи любого планшетного сканера обязательно выполняются (в той или иной последовательности) следующие процедуры: 

Калибровка (автоподстройка преобразовательных каскадов); 

Перемещение и позиционирование каретки (\"считывающей головки\"); 

Опрос элементов светочувствительной матрицы (CCD или CIS) и аналого-цифровое преобразование; 

Накопление полученных значений в оперативной памяти (\"буфере\") сканера; 

Инициализация интерфейсных устройств и передача накопленной информации в оперативную память компьютера; 

Запись (\"сохранение\") информации на винчестер (жесткий диск); 

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

Примечание: иногда перед сканированием выполняется также прогрев лампы (\"warming up\"), однако эта процедура не у всех сканеров является обязательной и зачастую может быть отключена, поэтому здесь не рассматривается. 

Очевидно, что процедуры 1...3 внешней коррекции не поддаются, поскольку всегда выполняются сканером автоматически и не зависят от каких-либо параметров рабочего компьютера. 

Процедура калибровки выполняется по жестко заданному алгоритму, который определяется набором инструкций, хранящихся во внутреннем ПЗУ (firmware). Изменить алгоритм возможно только вместе с ПЗУ (которое совсем не всегда имеет вид отдельной микросхемы), поэтому говорить об оптимизации временных затрат на эту процедуру бессмысленно. 

Перемещение каретки планшетного сканера производится протяжным механизмом, приводимым в движение шаговым двигателем (step motor). В общем случае скорость перемещения каретки зависит исключительно от выбранного разрешения сканирования (о выборе разрешения см. выше). Механизм, конечно, вносит некоторую собственную задержку (время прохождения сигнала по цепи \"процессор сканера - буферный каскад - контроллер двигателя\" плюс время выполнения шага), однако компенсировать ее внешними средствами нельзя. 

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

Промежуточное сохранение данных в оперативной памяти сканера (процедура 4), а также объем самой этой памяти долгое время остаются предметом оживленной дискуссии: а будет ли быстрее, если \"памяти добавить\" ? Дискуссия, к сожалению, беспредметная: разъемы для дополнительных микросхем (или модулей) оперативной памяти у сканеров производства Mustek, Plustek, Avision, Genius, и Targa отсутствуют, даже у такого мощного аппарата как Mustek Paragon Power Pro. 

Если говорить о планшетных сканерах других производителей, то встречаются профессиональные модели (ценовая категория \"выше $5000\"), в которых такие разъемы есть, однако данными, позволяющими оценить влияние объема буфера на быстродействие этих моделей, я не располагаю. 

Пропускную способность интерфейсных устройств принято считать \"узким местом\" процесса сканирования. Это не совсем верно: временные затраты на подготовку и передачу информации (процедура 5) становятся заметны лишь при больших объемах образа. 

Косвенным подтверждением могут служить приводимые в таблицах (для цветного, полутонового и черно-белого режимов) экспериментальные данные: сканеры с \"медленным\" ЕРР-интерфейсом заметно уступают \"быстрым\" сканерам c интерфейсом SCSI только когда объем получаемого образа превышает 25-30 Мб. Очевидно, что для большинства задач, решаемых при помощи сканеров класса SOHO, характерны меньшие объемы файлов. Например: распознавание текста: разрешение 300 dpi, размер оригинала 210х290 мм, объем образа - около 8,5 Мб; сканирование фотографии формата 10х15: разрешение 300 dpi, объем образа - около 6,2 Мб. Следовательно, если Вы не занимаетесь более ресурсоемкими задачами (такими, например, как пакетное сканирование с негативов), то выбранное разрешение сканирования будет влиять на быстродействие Вашего сканера значительно больше, нежели конфигурация интерфейсных устройств. 

Тем не менее существует ряд условий, выполнение которых может несколько ускорить работу интерфейсных устройств Вашего сканера. 

Если Ваш аппарат подключается к параллельному порту компьютера, стоит обратить внимание на режим, в котором работает контроллер порта. Традиционно рекомендуется устанавливать ЕРР\\ЕСР, однако большинство современных BIOS поддерживает различные варианты этого режима: EPP v.1.7, EРP\\EСP v.1.9, и так далее. В общем случае определить оптимальный вариант можно только экспериментально. Для справки ниже приводится время сканирования листа формата А4 аппаратом Mustek Paragon 800 II EP (400 dpi, цветной режим). Данные получены на тестовом компьютере.

Большинство SCSI-сканеров класса SOHO комплектуется сейчас контроллерами типа DTC3181 либо аналогичными. Эти контроллеры не имеют собственного BIOS, единственный доступный пользователям элемент управления - перемычки (jumpers) J1, J2, задающие поддержку Plug\'n\'Play и величину wait state (WS) соответственно; второй параметр по умолчанию имеет значение \"1\". Распространено заблуждение, согласно которому установка WS=0 приводит к \"ускорению\" сканирования. К сожалению, это не так: в лучшем случае скорость сканирования не изменится, в худшем - Вы получите сообщение типа \"Scanner not ready\"... 

Известны случаи, когда к существенному замедлению работы сканера приводил конфликт двух SCSI-контроллеров. Если такую проблему не удается решить переназначением ресурсов конфликтующим устройствам, рассмотрите вариант установки сканера в составе SCSI-цепочки на более мощный контроллер. При этом сканер должен быть последним устройством цепочки, его следует терминировать, а SCSI ID выставить в положение, соответствующее требованиям используемого контроллера (допустимые положения: 1...6). Имеющийся опыт использования сканеров Mustek с быстродействующими контроллерами Adaptec 2940 AU и Asus SC-200 PCI показывает, что подключенный таким образом сканер работает быстрее, чем с \"родной\" SCSI-II картой DTC3181. 

Планшетных сканеров с интерфейсами ISA и USB в настоящий момент на рынке немного - в силу \"древности\" первого и новизны второго интерфейса. В каком-то смысле объединяет их тот факт, что аппаратное и программное обеспечение как ISA, так и USB не предусматривает какого-либо вмешательства со стороны пользователя. 

Процедура 6 (запись получаемого образа в дисковый файл) выполняется дисковой подсистемой компьютера - без участия сканера. Если винчестер Вашего компьютера выпущен менее чем десять лет назад, то оптимизировать его работу не потребуется - при условии, что размер получаемых файлов редко превышает 10...15 Мб. 

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

Возврат управления, открытие образа в отдельном окне (процедура 7), как и загрузка драйвера сканера, происходят тем быстрее, чем больше объем оперативной памяти и чем мощнее видеоподсистема компьютера. На тестовом компьютере вышеназванные процессы имели пренебрежимо малую продолжительность (в среднем около 0,2...0,5, 1,0...3,0, и 0,5...1,5 секунд соответственно). 

Вопросы, связанные с быстродействием видеоподсистемы, также подробно освещены на iXBT, в разделе \"Видеосистема\". 

Таким образом, существуют всего две \"точки приложения сил\" для желающего оптимизировать процесс сканирования на аппаратном уровне: интерфейсные устройства и возможно, дисковая подсистема. Существуют, конечно, другие, более экзотические варианты (скажем, замена motherboard и\\или CPU компьютера :-)), однако такие операции при всем желании \"настройкой\" компьютера считать нельзя. 

В заключение хотелось бы привести краткую справку. Приняв количество известных автору успешных попыток \"ускорения сканирования\" за 100%, получим следующее частотное соотношение применявшихся методов: 

Конфигурация рабочего компьютера ...........................................................10% 

Оптимальный выбор параметров сканирования ...........................................50% 

Обновление версии драйвера сканера или переход к другой ОС ................35% 

Сочетание методов 1...3 .................................................................................5%