Что меня обычно интересует при синхронизации - это отличие в каталогах (файлы, которые отличаются), поэтому я обычно отключаю отображение одинаковых файлов. В ситуации, когда всего файлов тысячи, а отличий - единицы, бывает хочется увидеть отличия ещё до окончания процесса сравнения. Но это неудобно, т. к. до завершения сравнения в списке присутствуют и интересующие меня единицы, и неинтересные мне тысячи. А выискивать единицы среди тысяч неудобно.
Итак, пожелание: хочу опцию "фильтровать список до завершения сравнения", чтобы те пары файлов, которые меня не интересуют, убирались сразу в процессе сканирования, а не по его окончании.
Учитывая то, что список и так сейчас весь постоянно перерисовывается при сканировании, предложенная опция не должна сильно снизить производительность.
Обновления списка в процессе
Модератор: motyara
-
- Охотник за багами
- Сообщения: 127
- Зарегистрирован: Ср мар 03, 2010 12:51 am
-
- Автор программы
- Сообщения: 3432
- Зарегистрирован: Пт окт 12, 2007 3:26 pm
-
- Охотник за багами
- Сообщения: 1199
- Зарегистрирован: Вс янв 31, 2010 12:12 am
Fuhrer писал(а):Итак, пожелание: хочу опцию "фильтровать список до завершения сравнения", чтобы те пары файлов, которые меня не интересуют, убирались сразу в процессе сканирования, а не по его окончании.
Есть другой вариант: включать в список файлы уже после сравнения и писать где-нибудь, сколько файлов осталось сравнить. Тогда будет происходить лишь добавление в конец списка, которое не требует много времени.Max Diesel писал(а):такая операция, выполняемая на каждый файл, вероятно снизит скорость сравнения в разы.
-
- Охотник за багами
- Сообщения: 127
- Зарегистрирован: Ср мар 03, 2010 12:51 am
Re:
Согласен, для описанного мною случая отлично подходит. Поддерживаю инициативу такой опции.Qwertiy писал(а):Есть другой вариант: включать в список файлы уже после сравнения и писать где-нибудь, сколько файлов осталось сравнить.
Я понимаю. Перерисовки - это нагрузка на процессор (видеокарту), а перестраивание - ещё операции с массивами, а это долго. Но если (вдруг) перестройка списка займёт длительное время, её можно делать по таймеру, а не для каждого файла. Это позволит сократить количество перестраиваний в разы.Max Diesel писал(а):"Перерисовывание списка" и "перестраивание списка" это не одно и то же. Поэтому такая операция, выполняемая на каждый файл, вероятно снизит скорость сравнения в разы.
Но я очень сомневаюсь, что операция займёт непозволительно много времени. Вот Вам пример: в TC, в аналогичном диалоге синхронизации, кнопки фильтров (то же, что и "параметры отображения файлов" в UC) не блокируются во время сканирования. Поэтому, во время сканирования я могу добавить (убрать) какую-нибудь опцию фильтра, и это приведёт к перестройке и перерисовке списка. И происходит это очень быстро даже для значительных пакетов файлов.
Если же это перерисовывание сделать по таймеру, реально может выйти быстро и информативно.