mcuni Спасибо большое за подробное описание! По крайней мере, это хоть какая-то пища для размышлений, которая вполне может нам помочь в итоге найти причину тормозов.
Мне в голову приходят следующие подозреваемые:
1) Восстановление файла кэша распознавания, который обычно теряется после аварийного закрытия приложения. Это большой файл, легко может быть гигабайт и больше, хранится рядом с БД. Обычно оно не запускается сразу, а только в момент первых операций с предложением лиц (правая кнопка на лицо, расчет предложений). Если ничего не делать, оно не будет запускаться сразу, так как оно очень сильно нагружает базу, и если делать это одновременно со сканированием на изменения, потенциально могут быть тормоза. Если штатно закрывать приложение после того как оно рассчитывало предложения, кеш не сбрасывается, если приложение закрыть принудительно, то кеш почти наверняка сбросится. Воссоздание из базы занимает несколько минут. Если по ПКМ появились списки похожих людей - значит он уже восстановился, если нет - значит еще нет.
2) Возможно еще у вас тормозит сохранение файлов на диск. Активная работа с лицами приводит к обновлению на диске файлов ini. Чем больше лиц вы обрабатываете, тем больше файлов может обновляться. В программе вставлена задержка в несколько десятков секунд между изменением и записью ini на диск, чтобы не вот прямо сразу обновление шло и меньше тормозил UI, но если файлов много за раз и параллельно идёт сканирование - потенциально сетевой диск может не успевать. Из-за того, что операция отложенная, в теории может происходить накопление несохранённых изменений. Но честно говоря, думаю что сильно много накопиться не может, так как только один файл на папку пишется.
3) Но как развитие предыдущей идеи - подтверждение лиц будет вызывать запись самих файлов, если включено сохранение в XMP. Файл нужно целиком считать, распарсить, сделать обновлённый вариант, сохранить во временный файл, потому удалить старый, заменить его новым и после подправить у него все даты на правильные. Много файловых операций, много памяти. Вы написали, что тормоза связаны с действиями над лицами - возможно взаимосвязь именно через этот механизм. Причем тут тоже запись не мгновенно после подтверждения происходит, а отложено, что может в теории способствовать накопительному эффекту.
С учетом описанного, прошу вас понаблюдать, насколько гипотезы похожи на правду.
Еще на всякий случай спрошу. Не то чтобы ваши симптомы указывают на это, но вдруг. Некоторые пользователи сообщали, что если свалить в одну папку сотни тысяч фото, то программа начинает люто тормозить. Справедливости ради, в такой ситуации и проводник Windows тоже будет тормозить жутко, и много других программ тоже. Но на всякий случай спрошу - у вас нет таких папок?