8

Обработка OCR занимает много времени. Использование нескольких процессорных ядер ускорит обработку. Acrobat 10 не был многопоточным приложением. Как насчет Acrobat 11? 11 по умолчанию делает OCR, используя несколько процессорных ядер (если доступно)? Если нет, есть ли какие-то обходные пути, например, сценарии, чтобы заставить Acrobat 11 выполнять OCR, используя несколько ядер ЦП? Либо с помощью встроенного в Acrobat языка сценариев, либо с помощью внешних сценариев, которые запускают и направляют несколько экземпляров Acrobat в один поток параллельно с частями задания обработки.

Примечание. Этот вопрос не слишком локализован (не ограничен конкретным моментом времени), поскольку (1) Adobe не выпускает новые основные версии Acrobat очень часто (Acrobat 10 был выпущен два года назад) и (2) Adobe Acrobat широко распространен. Используемое приложение.

3 ответа3

6

Я установил пробную версию Acrobat 11 (XI) в VirtualBox. Acrobat 11 однопоточный.

Я также создал внешний скрипт, который запускает несколько экземпляров Acrobat (по одному на ядро ЦП), параллельно обрабатывает задание OCR и объединяет результат. Важный шаг - включить ведение журнала ошибок в настройках Acrobat, проанализировать все .log и повторно обработать все файлы ошибок. Сценарий (при использовании 4 ядер) по-прежнему выполняет OCR более чем в два раза быстрее, чем Acrobat 11 по умолчанию.

1

Многопоточность должна быть встроена в приложение. Разработчик должен написать код, который создает потоки и разбивает задачу на подзадачи, которые могут быть выделены для каждого потока. Если разработчики Acrobat не смогут сделать это для своего кода распознавания OCR, у пользователя не будет возможности создать дополнительную необходимую логику.

0

Чтобы использовать все ядра для распознавания текста, вы можете взглянуть на PDF-Exchange Editor. Похоже, что это OCR-движок, который использует все ядра в моей системе. Как только вы достигнете этого уровня производительности, имеет смысл использовать SSD.

Должна быть настройка Windows, которая заставит его выделять больше процессорного времени однопоточному приложению, которое не связано с вводом / выводом. В моей системе Acrobat не замедляется производительностью диска, но больше всего процессорного времени, которое я получаю при создании индекса, составляет около 30%.

Посмотрим правде в глаза, Acrobat - широко используемое, но плохо написанное приложение. В Acrobat Pro есть некоторые функции, которые вы еще не можете получить нигде (пока).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .