Russian Qt Forum

Qt => Общие вопросы => Тема начата: Igors от Июнь 12, 2019, 15:04



Название: "Тот самый" файл
Отправлено: Igors от Июнь 12, 2019, 15:04
Добрый день

Часто открываются файлы картинок только для того чтобы получить размеры имеджа, число каналов и.т.п, и это заметно тормозит. Напрашивается кешировать эту инфу, но тогда надо убедиться что файл "тот же самый". Путь + размер + дата изменения должны совпадать, checksum - обойдусь. Есть ли такой готовый класс или делать самому напр используя QFileInfo ?

Спасибо


Название: Re: "Тот самый" файл
Отправлено: ssoft от Июнь 12, 2019, 20:58
Путь + размер + дата изменения должны совпадать, checksum - обойдусь.
Однозначно делать самому). Так как набор требований (критериев) определяется этой конкретной задачей.


Название: Re: "Тот самый" файл
Отправлено: RedDog от Июнь 12, 2019, 22:12
Если файлы относительно статичные, то почему бы на их md5 не опереться?
Один раз распарсил, и потом пользуешься инфой. И даже не важно по какому пути файл будет лежать.
ccache можно за пример взять.


Название: Re: "Тот самый" файл
Отправлено: Apktyc от Июнь 12, 2019, 22:26
Неужели читать (перечитывать) заголовок изображения (или там совсем экзотика по форматам?) настолько дорого?

А что насчет QFileSystemWatcher?


Название: Re: "Тот самый" файл
Отправлено: Igors от Июнь 13, 2019, 05:57
Неужели читать (перечитывать) заголовок изображения (или там совсем экзотика по форматам?) настолько дорого?
Да. Используется GStreamer, у него есть "опознавалка", но она не устраивает, приходится делать "preroll" - фактически грузить весь кадр. Ну конечно с десятком картинок - все норм, но вот их стало 200-300...

А что насчет QFileSystemWatcher?
Насколько я понял, он занимается "по директориям", а это не нужно


Название: Re: "Тот самый" файл
Отправлено: lit-uriy от Июнь 14, 2019, 06:18
На память не помню, но в примерах Qt было использование кэширования картинок. Что такое: https://doc.qt.io/archives/qq/qq12-qpixmapcache.html
Может подойдёт