Обновления списка в процессе

Модератор: motyara

Ответить
Аватара пользователя
Fuhrer
Охотник за багами
Сообщения: 127
Зарегистрирован: Ср мар 03, 2010 12:51 am

Обновления списка в процессе

Сообщение Fuhrer » Чт апр 15, 2010 1:14 pm

Что меня обычно интересует при синхронизации - это отличие в каталогах (файлы, которые отличаются), поэтому я обычно отключаю отображение одинаковых файлов. В ситуации, когда всего файлов тысячи, а отличий - единицы, бывает хочется увидеть отличия ещё до окончания процесса сравнения. Но это неудобно, т. к. до завершения сравнения в списке присутствуют и интересующие меня единицы, и неинтересные мне тысячи. А выискивать единицы среди тысяч неудобно.

Итак, пожелание: хочу опцию "фильтровать список до завершения сравнения", чтобы те пары файлов, которые меня не интересуют, убирались сразу в процессе сканирования, а не по его окончании.

Учитывая то, что список и так сейчас весь постоянно перерисовывается при сканировании, предложенная опция не должна сильно снизить производительность.

Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3125
Зарегистрирован: Пт окт 12, 2007 9:00 pm
Контактная информация:

Сообщение Max Diesel » Сб апр 17, 2010 12:33 am

"Перерисовывание списка" и "перестраивание списка" это не одно и то же. Поэтому такая операция, выполняемая на каждый файл, вероятно снизит скорость сравнения в разы.

Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Сообщение Qwertiy » Сб апр 17, 2010 1:06 am

Fuhrer писал(а):Итак, пожелание: хочу опцию "фильтровать список до завершения сравнения", чтобы те пары файлов, которые меня не интересуют, убирались сразу в процессе сканирования, а не по его окончании.
Max Diesel писал(а):такая операция, выполняемая на каждый файл, вероятно снизит скорость сравнения в разы.
Есть другой вариант: включать в список файлы уже после сравнения и писать где-нибудь, сколько файлов осталось сравнить. Тогда будет происходить лишь добавление в конец списка, которое не требует много времени.

Аватара пользователя
Fuhrer
Охотник за багами
Сообщения: 127
Зарегистрирован: Ср мар 03, 2010 12:51 am

Re:

Сообщение Fuhrer » Сб апр 17, 2010 2:19 am

Qwertiy писал(а):Есть другой вариант: включать в список файлы уже после сравнения и писать где-нибудь, сколько файлов осталось сравнить.
Согласен, для описанного мною случая отлично подходит. Поддерживаю инициативу такой опции.
Max Diesel писал(а):"Перерисовывание списка" и "перестраивание списка" это не одно и то же. Поэтому такая операция, выполняемая на каждый файл, вероятно снизит скорость сравнения в разы.
Я понимаю. Перерисовки - это нагрузка на процессор (видеокарту), а перестраивание - ещё операции с массивами, а это долго. Но если (вдруг) перестройка списка займёт длительное время, её можно делать по таймеру, а не для каждого файла. Это позволит сократить количество перестраиваний в разы.
Но я очень сомневаюсь, что операция займёт непозволительно много времени. Вот Вам пример: в TC, в аналогичном диалоге синхронизации, кнопки фильтров (то же, что и "параметры отображения файлов" в UC) не блокируются во время сканирования. Поэтому, во время сканирования я могу добавить (убрать) какую-нибудь опцию фильтра, и это приведёт к перестройке и перерисовке списка. И происходит это очень быстро даже для значительных пакетов файлов.
Если же это перерисовывание сделать по таймеру, реально может выйти быстро и информативно.

Ответить