Skif_off
|
Posted: Wed Jun 21, 2017 10:42 Post subject: |
|
|
BeardFury78 wrote: | Заметил, что во время проверки файл jpegtest.jpg в папке Temp на системном диске C:\ постоянно меняет свой размер и дату. Кажется это сюда копируются изображения во время проверки. |
Немного не так, Jpegtrun сжимает изображение и сохраняет в %Temp% результат, результирующее изображение будет поменьше размером, но, в общем, не очень значительно. Сделано так по простому соображению: если вам когда-нибудь приходилось сталкиваться с необходимостью восстановления данных с жёсткого диска, вероятно, вы знаете, что в таком случае нельзя ничего писать на носитель, только чтение.
Тут дело может быть не только в дисках, ведь идёт сжатие. Можете озвучить вашу конфигурацию? Процессор, диски, ОС? Для тестов в качестве слабого компа использовал HP Pavilion dm1-4000er, каких-то особых проблем не заметил.
Могу добавить, опционально, возможность писать в выбранный для тестирования каталог с изображениями, не могли бы вы проверить и сравнить поведение? Полагаю, вы используете версию отсюда, тогда так
 Hidden text Code: | выпилил во избежание |
Это набросок, надо подумать, как всё это аккуратно добавить, если что. Скрипт подсократил, убрал возможность генерировать батники и возможность протестировать файлы по списку, временный файл будет писаться в корень каталога, указанного в поле ввода (даже если отмечено "Рекурсивно"), лог-файл всё так же будет сохранён в %Temp%.
В планах есть:
- подсказали идею: попробовать результат отправлять в nul, тогда можно сэкономить ресурсы на запись его на жёсткий диск;
- попробовать использовать Jpeginfo, пользователь на Ру-борде предложил и скомпилировал версию для Windows с libjpeg проекта libjpeg-turbo: если результат проверки будет таким же, то можно немало выиграть;
- посмотреть, возможно ли использовать jpeg62.dll напрямую, с DllCall() (проблема не только в структуре).
Вот только никак руки не дойдут засесть И у п.2 есть проблема: неизвестно, какие именно ошибки может найти, а что пропустит в сравнении с jpegtran (т.к. с jpegtran происходит оптимизация таблицы Хаффмана, то для сжатия потребуются всё содержимое файла). Возможно, есть смысл покопаться в исходниках и найти все сообщения об ошибках...
Опять же, охватить все возможные проблемные файлы не могу, для теста повреждённые JPEG'и получаю тривиально, в hex-редакторе.
Last edited by Skif_off on Wed Jun 21, 2017 16:48; edited 1 time in total |
|