Задержка отображения размера в строке состояния
Select messages from
# through # FAQ
[/[Print]\]

Total Commander -> Общие вопросы

#1: Задержка отображения размера в строке состояния Author: Hibor PostPosted: Fri Jul 29, 2022 05:21
    —
Здравствуйте.
Недавно обновился с 8.52a до 10.50
Столкнулся с проблемой: есть ясно видимая и раздражающая задержка отображения в статусе размера папки при выборе по пробелу. В среднем ~2 секунды.
Т.е. выбираю даже пустую папку - пробел - задержка 1-2 секунды - только после идет замена в строке состояния "?0 байт..." на результат. При этом если вид "подробный" - тот же результат в колонку "размер" приходит мгновенно как и должно быть. Значит проблема не в посчете, а в лаге статусной строки.
Для Alt-Shift-Enter (подсчет всех каталогов) такое понятно - в колонки по мере подсчета идет, а в статус только результат (хотя промежуточные итоги тож задерживаются - на больших объемах заметно). Но для одной пустой директории такого быть не должно...
И, пустая директория взята только как крайний пример, тоже самое с не пустой, например, с парой файлов - т.е. где должен быть мгновенный результат.

В 8.52 такого нет, все мгновенно. Плагины и настройки перенесены аккуратно. TC 10.50 final x86 на Win10x64. Пробовал чистый TC 10.50 x32 - то же самое. На пробу TC10.00 отработал нормально, т.е. это где-то в новом релизе.
Покопался в history - вроде ничего такого не нашел... Я упустил какое-то изменение или скрытую настройку в ini, иль это баг новой версии?

#2:  Author: AvadaLocation: Россия, Саратов PostPosted: Fri Jul 29, 2022 19:55
    —
Hibor
Вместо "статуса размера папки" пользуйтесь, пожалуйста, общепринятой терминологией: эта штука называется строкой состояния.
При применении команды cm_CountDirContent (Alt+Shift+Enter) в подробном режиме в строку состояния никакой результат не идёт — он весь в колонке "Размер" (и только в кратком режиме там отображается размер подкаталога под курсором). Естественно, выделения там нет.
К слову, версий TC после 8.52a успело сменится весьма много, так что даже предельно аккуратный перенос плагинов и настроек не даст стопроцентной гарантии, того, что не потребуется какая-то дополнительная коррекция (хотя бы потому, что некоторые функции просто стали иначе работать по умолчанию).
Что касается самого вопроса, то в TC 10.50 любой битности (как чистом, так и настроенном) никакой заметной разницы поведения с прежними версиями не вижу. Кстати, в 10.50 можно включить автоматический подсчёт размера подкаталогов (см. новую опцию на странице настроек "Основные функции", по умолчанию выключенную), так вот очень рекомендую настроить и попробовать вариант автоподсчёта с Everything (подсчёт с ним без "авто", в т.ч. при выделении ПРОБЕЛом, был введён ещё раньше). Если всё сделать правильно, результаты вас приятно удивят.

#3:  Author: Hibor PostPosted: Sat Jul 30, 2022 03:04
    —
Avada wrote:
Вместо "статуса размера папки" пользуйтесь, пожалуйста, общепринятой терминологией: эта штука называется строкой состояния.

Хорошо. Просто имел ввиду только текущий размер в строке состояния, а не всю "строку состояния".
Avada wrote:
При применении команды cm_CountDirContent (Alt+Shift+Enter) в подробном режиме в строку состояния никакой результат не идёт — он весь в колонке "Размер" (и только в кратком режиме там отображается размер подкаталога под курсором). Естественно, выделения там нет.

Если до выполнения cm_CountDirContent в панели файлов было выделение каталогов, то во время подсчета идет обновление размера выделенного и в строке состояния, в том числе промежуточные данные при длительной операции (и тут тож есть задержка, но как раз это меня не волнует).
Avada wrote:
Что касается самого вопроса, то в TC 10.50 любой битности (как чистом, так и настроенном) никакой заметной разницы поведения с прежними версиями не вижу.

Порядок воспроизведения я описал: 1) пустой или маленький каталог, который заведомо быстро считается и не был открыт ранее; 2) вид "подробный" что бы видеть разницу (проблема на "кратком"); 3) запуск подсчета размера каталога по пробелу - вижу мгновенный результат в колонке и с задержкой ~ в 2 сек в строке статуса.
Воспроизводится в том числе и на чистой установке без настроек и плагинов от старой версии.
Возможно вы "не видите" из-за включенного использования Everything? Или проверяемый каталог уже кэширован TC?
Avada wrote:
Кстати, в 10.50 можно включить автоматический подсчёт размера подкаталогов (см. новую опцию на странице настроек "Основные функции", по умолчанию выключенную), так вот очень рекомендую настроить и попробовать вариант автоподсчёта с Everything (подсчёт с ним без "авто", в т.ч. при выделении ПРОБЕЛом, был введён ещё раньше). Если всё сделать правильно, результаты вас приятно удивят.

Разного рода индексы не подходят по условиям использования, как и автоподсчет. Нужно простое получение размера произвольного небольшого каталога, чего проще - всегда и везде ЭТО отрабатывает быстро на любом языке без внешней помощи.

Откатился/перенес всё на 10.00. Там этой проблемы еще нет (беты 10.50 не проверял).


P.S. если есть интерес: залил видео-примеры задержки на я-диск
https://disk.yandex.ru/i/GZLfhXYrjoro4w
четко видно мгновенный подсчет в колонке и задержка для строки статуса в 1-2 секунды (примерно на счет раз два)
а вот норм работа в 10.00 https://disk.yandex.com/i/bDCVXF4lidk9oA
никаких задержек, хотя директория small чуть больше и с большим кол-вом объектов

#4:  Author: AvadaLocation: Россия, Саратов PostPosted: Sat Jul 30, 2022 07:58
    —
Видео посмотрел, ещё раз глянул у себя. Да, в 10.50 без применения Everything и без предыдущего подсчёта (любым путём) размера подкаталогов вывод суммарного размера выделенного в строке состояния занимает несколько больше времени и вопросы у пустых папок действительно выглядят не очень понятно. Но проявляется всё-таки на папках, а не на файлах. Какой выбирается режим представления для воспроизведения всего этого, ИМХО, совершенно неважно: подсчёт в строке состояния одинаков, а что происходит в колонках, в данном случае не особо интересно.
Появилось это с третьей беты 10.50. В её истории есть несколько пунктов, связанных с подсчётом подкаталогов, но я прямой связи с этим поведением не уловил. Точнее может ответить (и, возможно изменить) только разработчик. К нему и надо обращаться тем, кому при его условиях это важно. Я тут пас в т.ч. потому, что постоянно пользуюсь Everything, с которым этой проблемы нет.
Разумеется, если размер подкаталогов в текущем каталоге до выделения уже подсчитан, в т.ч. вручную по Alt+Shift+Enter, то выделять можно не только ПРОБЕЛом, но и как угодно (INSERT, любая кнопка мыши) — в этом случае результат в строке состояния обрабатывается вполне прилично.
Заодно и заголовок поправил: сделал попонятнее и прибил опечатку а первом слове.

#5:  Author: Hibor PostPosted: Sat Jul 30, 2022 09:31
    —
Avada wrote:
Какой выбирается режим представления для воспроизведения всего этого, ИМХО, совершенно неважно.

С этим и не спорю, сам в большинстве пользуюсь кратким, потому и регулярная задержка с получением размера раздражает. Подробный вид в примере выбран просто для наглядности, что самим TC размер директории считается нормально быстро, а вот вывод в строку состояния задерживается - когда сразу все на экране лучше видно.
Avada wrote:
Появилось это с третьей беты 10.50. В её истории есть несколько пунктов, связанных с подсчётом подкаталогов, но я прямой связи с этим поведением не уловил. Точнее может ответить (и, возможно изменить) только разработчик.

У меня подозрения на beta 1 (в целом реализацию потока):
Code:
12.04.22 Release Total Commander 10.50 beta 1
27.03.22 Added: Load directory sizes in their own thread, so it can't be slowed down by loading icons or overlays (32/64)

Перенесли получение размера в отдельный поток, и где-то напортачили с синхронизацией. Тем более что ранее подобную проблему с задержками на другом функционале фиксили:
Code:
18.03.21 Release Total Commander 10.00 public beta 2
12.03.21 Fixed: Closing search in separate process took several seconds, waiting for a background thread to end (64)

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

#6:  Author: AvadaLocation: Россия, Саратов PostPosted: Sat Jul 30, 2022 09:42
    —
Hibor wrote:
У меня подозрения на beta 1

Нет, в первых двух бетах 10.50 всё в порядке, это легко проверяется. Поэтому дальнейшие ваши умозаключения про потоки не комментирую.



Total Commander -> Общие вопросы


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Page 1 of 1

Powered by phpBB © 2001, 2005 phpBB Group