Orion9

|
Posted: Thu May 07, 2026 12:44 Post subject: |
|
|
| AkulaBig wrote: | | Сначала я подумал, что кривой код. Но похоже код не успевает отработать. |
Так и есть. Для этого там и стоит задержка. ExifTool в режиме -stay_open тупо дергает файл с параметрами каждые 10 миллисекунд и проверяет не появились ли там новые команды. Когда новые команды появляются, результат их выполнения сохраняется в другой файл. Заранее не известно, когда этот файл появится, поэтому приходится ждать его появления. Если в течении 1 секунды файл не появляется, скрипт вернет текст "<time-out>", который и попадет в поле.
И хотя кажется, что задержка может быть большой, на самом деле всё происходит быстро: на порядок быстрее, чем просто вызывать ExifTool для каждого файла по отдельности.
Если убрать задержку, Autorun начнет считывать данные быстрее, чем новые данные будут приходить от ExifTool, поэтому приходится переодически проверять существование файла в цикле с небольшой задержкой.
Но это никак не должно влиять на скорость. У меня сейчас подсказка ExifTool на видео файлах открывается мгновенно, не говоря уж об аудио или картинках. Скорость ничем не уступает MediaInfo, можете сами проверить. У вас вроде есть последняя версия набора скриптов. На предыдущей странице я сбрасывал концовку модуля MediaInfo.aucfg. Смена подсказки по Alt+F12.
А почему у вас нет прироста в скорости, я не знаю. Вроде бы всё как надо сделано. Ну если только убрать запуск ExifTool во вне, и проверку существования процесса не делать в теле функции, а заменить проверкой переменной (флага). Функция будет вызывается для всех полей, это тоже надо будет в будущем учитывать. |
|