Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Задержка отображения размера в строке состояния

 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
Hibor



Joined: 12 Oct 2011
Posts: 4

Post (Separately) Posted: Fri Jul 29, 2022 05:21    Post subject: Задержка отображения размера в строке состояния Reply with quote

Здравствуйте.
Недавно обновился с 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, иль это баг новой версии?
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10236
Location: Россия, Саратов

Post (Separately) Posted: Fri Jul 29, 2022 19:55    Post subject: Reply with quote

Hibor
Вместо "статуса размера папки" пользуйтесь, пожалуйста, общепринятой терминологией: эта штука называется строкой состояния.
При применении команды cm_CountDirContent (Alt+Shift+Enter) в подробном режиме в строку состояния никакой результат не идёт — он весь в колонке "Размер" (и только в кратком режиме там отображается размер подкаталога под курсором). Естественно, выделения там нет.
К слову, версий TC после 8.52a успело сменится весьма много, так что даже предельно аккуратный перенос плагинов и настроек не даст стопроцентной гарантии, того, что не потребуется какая-то дополнительная коррекция (хотя бы потому, что некоторые функции просто стали иначе работать по умолчанию).
Что касается самого вопроса, то в TC 10.50 любой битности (как чистом, так и настроенном) никакой заметной разницы поведения с прежними версиями не вижу. Кстати, в 10.50 можно включить автоматический подсчёт размера подкаталогов (см. новую опцию на странице настроек "Основные функции", по умолчанию выключенную), так вот очень рекомендую настроить и попробовать вариант автоподсчёта с Everything (подсчёт с ним без "авто", в т.ч. при выделении ПРОБЕЛом, был введён ещё раньше). Если всё сделать правильно, результаты вас приятно удивят.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Hibor



Joined: 12 Oct 2011
Posts: 4

Post (Separately) Posted: Sat Jul 30, 2022 03:04    Post subject: Reply with quote

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 чуть больше и с большим кол-вом объектов
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10236
Location: Россия, Саратов

Post (Separately) Posted: Sat Jul 30, 2022 07:58    Post subject: Reply with quote

Видео посмотрел, ещё раз глянул у себя. Да, в 10.50 без применения Everything и без предыдущего подсчёта (любым путём) размера подкаталогов вывод суммарного размера выделенного в строке состояния занимает несколько больше времени и вопросы у пустых папок действительно выглядят не очень понятно. Но проявляется всё-таки на папках, а не на файлах. Какой выбирается режим представления для воспроизведения всего этого, ИМХО, совершенно неважно: подсчёт в строке состояния одинаков, а что происходит в колонках, в данном случае не особо интересно.
Появилось это с третьей беты 10.50. В её истории есть несколько пунктов, связанных с подсчётом подкаталогов, но я прямой связи с этим поведением не уловил. Точнее может ответить (и, возможно изменить) только разработчик. К нему и надо обращаться тем, кому при его условиях это важно. Я тут пас в т.ч. потому, что постоянно пользуюсь Everything, с которым этой проблемы нет.
Разумеется, если размер подкаталогов в текущем каталоге до выделения уже подсчитан, в т.ч. вручную по Alt+Shift+Enter, то выделять можно не только ПРОБЕЛом, но и как угодно (INSERT, любая кнопка мыши) — в этом случае результат в строке состояния обрабатывается вполне прилично.
Заодно и заголовок поправил: сделал попонятнее и прибил опечатку а первом слове.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Hibor



Joined: 12 Oct 2011
Posts: 4

Post (Separately) Posted: Sat Jul 30, 2022 09:31    Post subject: Reply with quote

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)

Если один раз написали код фонового потока с задержкой что пришлось исправлять, почему бы тому же самому не случиться опять в другом месте...
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10236
Location: Россия, Саратов

Post (Separately) Posted: Sat Jul 30, 2022 09:42    Post subject: Reply with quote

Hibor wrote:
У меня подозрения на beta 1

Нет, в первых двух бетах 10.50 всё в порядке, это легко проверяется. Поэтому дальнейшие ваши умозаключения про потоки не комментирую.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group