Страница 3 из 8

Re:

Добавлено: Пт авг 12, 2022 3:53 am
vert
Max Diesel писал(а): Сб май 21, 2022 7:57 pm
vert писал(а): Сб апр 30, 2022 6:39 am После того, как начал использовать фичу «Лок-таб», периодически наблюдаю следующее.
Лок-таб («выход с возвратом») — это самая первая вкладка в левой панели (но может это и не важно). Справа в той же панели открыты ещё несколько вкладок, в которые я заходил сегодня или вчера. Иногда (не всегда) при нажатии на одну из обычных вкладок её содержимое становится аналогичным содержимому Лок-таба, либо открывается какой-то путь из истории, который был ранее открыт в Лок-табе.
Конкретный алгоритм возникновения ошибки пока не отследил
Какой-то неожиданный расклад. На вскидку воспроизвести не удалось. Сообщите если обнаружатся дополнительные детали.
1. Создаю на диске C: пустые каталоги, вложенные друг в друга

Код: Выделить всё

c:\1\2\3\
2. Оставляю в левой панели только одну вкладку, захожу в ней в каталог "2". Делаю ей "Лок-таб, выход с возвратом".
3. Дважды кликаю справа от вкладки, появляется вторая вкладка.
4. Во второй вкладке перехожу в другой каталог, например в "3".
5. Переключаюсь между двумя вкладками, на данном этапе всё ОК.
6. В первой вкладке поднимаюсь на уровень выше (перехожу в каталог "1").
7. Перехожу во вторую вкладку — содержимое вкладки становится идентичным первой вкладке, при этом название вкладки остаётся прежним.
8. При дальнейшем переключении между вкладками происходит ещё какая-то чехарда с изменением содержимого вкладок и путей, но это оставляю вам на эксперименты :)

v4.21 64bit beta 3 (build 1558)

Re: Баги в v4.21 (build 1550-1558)

Добавлено: Сб авг 13, 2022 1:32 pm
Paul_TC
Не работает поиск по содержимому.
*.docx
✓ Office files

+ При включении HEX-код находит все docx-файлы в папке, но что UC там видит, не известно ))

Добавлено: Пн авг 15, 2022 1:11 am
Max Diesel
vert писал(а): Пт авг 12, 2022 3:53 am 1. Создаю на диске C: пустые каталоги, вложенные друг в друга

Код: Выделить всё

c:\1\2\3\
2. Оставляю в левой панели только одну вкладку, захожу в ней в каталог "2". Делаю ей "Лок-таб, выход с возвратом".
3. Дважды кликаю справа от вкладки, появляется вторая вкладка.
4. Во второй вкладке перехожу в другой каталог, например в "3".
5. Переключаюсь между двумя вкладками, на данном этапе всё ОК.
6. В первой вкладке поднимаюсь на уровень выше (перехожу в каталог "1").
7. Перехожу во вторую вкладку — содержимое вкладки становится идентичным первой вкладке, при этом название вкладки остаётся прежним.
8. При дальнейшем переключении между вкладками происходит ещё какая-то чехарда с изменением содержимого вкладок и путей, но это оставляю вам на эксперименты :)

v4.21 64bit beta 3 (build 1558)
Как ни странно, но воспроизвести не получается даже при таком подробном описании. Возможно дело в каких-то персональных настройках. Попробуйте такой вариант: в командной строке Unreal Commander'а выполните команду ":dsm", запустится еще одна его копия, но уже с настройками по умолчанию. Воспроизведется ли баг в ней при настройках по умолчанию? Если нет, то вероятно дело действительно в настройках. В такой ситуации в основной копии Unreal Commander'а нажмите Ctrl+Shift+i чтобы перейти в каталог настроек и из этого каталога пришлите мне файл с настройками (Uncom.ini) через личное сообщение или на email.

Добавлено: Пн авг 15, 2022 2:34 am
Max Diesel
Paul_TC писал(а): Сб авг 13, 2022 1:32 pm Не работает поиск по содержимому.
*.docx
✓ Office files
Спасибо за эту информацию, весьма интересный баг. Надеюсь что со следующего билда будет корректно.
Paul_TC писал(а): Сб авг 13, 2022 1:32 pm + При включении HEX-код находит все docx-файлы в папке, но что UC там видит, не известно ))
В момент проставления этого флажка программа старается высмотреть в строке "текст" какие-нибудь HEX-символы, и если уж там вписано например какое-то слово на русском языке, то... в нем не обнаруживается ни единого HEX-символа, а потому строка "текст" становится пустой и следственно каждый файл соответствует такому условию.

Re: Баги в v4.21 (build 1550-1559)

Добавлено: Сб авг 27, 2022 10:04 pm
Scorpy
Лок-таб, выход с возвратом больше не работает. Теперь , при щелчке на табе нельзя вернуться в зафиксированный каталог. Билд 1559.

Добавлено: Вс авг 28, 2022 12:55 am
Max Diesel
Scorpy писал(а): Сб авг 27, 2022 10:04 pm Лок-таб, выход с возвратом больше не работает. Теперь , при щелчке на табе нельзя вернуться в зафиксированный каталог. Билд 1559.
Да, есть такая странность, я тоже обратил внимание на этот факт и отчасти устранил. К следующему билду предположительно будет корректно. Однако корректно будет лишь частично, так как используемый в этом вопросе контрол (создающий табы) имеет баг, который не заметили его разработчики, в связи с этим при стиле "Табы" контрол работает чуть-чуть не так как при двух других стилях ("Кнопки" и "Плоские кнопки"), именно это и приводит к проблемам, поэтому клик будет делать возврат лишь при стиле "Табы".

Re: Баги в v4.21 (build 1550-1559)

Добавлено: Вт авг 30, 2022 4:33 am
vert
При переименовании каталога с последующим нажатием Tab / Shift+Tab название каталога под курсором оказывается неправильным, если после переименования изменилась сортировка. С файлами не проверял.
Гифка для демонстрации:
UnrealCommander64_2022-08-30_13-27-37.gif

Добавлено: Ср авг 31, 2022 1:12 pm
Max Diesel
vert писал(а): Вт авг 30, 2022 4:33 am При переименовании каталога с последующим нажатием Tab / Shift+Tab название каталога под курсором оказывается неправильным, если после переименования изменилась сортировка. С файлами не проверял.
Гифка для демонстрации:
UnrealCommander64_2022-08-30_13-27-37.gif
Действительно, этот аспект я не рассматривал. Постараюсь к новому билду внести изменения. Спасибо за эту информацию.

Re: Баги в v4.21 (build 1550-1559)

Добавлено: Чт сен 01, 2022 9:40 pm
VicVaLa
С клавишами стрелка вверх, вниз такой же косяк.

Re: Баги в v4.21 (build 1550-1559)

Добавлено: Сб сен 10, 2022 11:04 pm
i3v
Заметил, что на сильно загруженной системе (сильно свопит, загружено ~100% CPU, может ещё что-то не так) в 4.21 beta4 (build 1559) сильно подлагивает отрисовка. Порой, при запуске нового UC он даже не может загрузиться - отрисовка, видимо, "зацикливается" и пытается отрисовать то список файлов то панель инструментов, но в итоге не успевает сделать ни то ни другое до начала следующей переотрисовки (чисто моя интерпретация), в итоге так всё и остаётся в недоотрисованном состоянии. Проблема почти наверняка воспроизводилась, если запустить штук 10 UC разом (иногда - на "Waiting for a response from the resource... C:\"). Воспроизвести, увы, может быть сложно, т.к. что там и почему тормозило не очень понятно уже.

В процессе, я почти случайно нашёл и прописал LoadToolbarIconsWithDelay=0 и внезапно всё стало нормально. И вообще стало куда меньше подлагиваний при отрисовке. Правда, может быть это просто совпадение... Теперь мне даже интересно, этот ключ (в последний раз упоминавшийся в 2013, похоже) на что-то вообще в 4.21 влияет или давно устарел и ничего не меняет, на самом деле?

Добавлено: Вс сен 11, 2022 1:21 am
Max Diesel
i3v писал(а): Сб сен 10, 2022 11:04 pm В процессе, я почти случайно нашёл и прописал LoadToolbarIconsWithDelay=0 и внезапно всё стало нормально. И вообще стало куда меньше подлагиваний при отрисовке. Правда, может быть это просто совпадение... Теперь мне даже интересно, этот ключ (в последний раз упоминавшийся в 2013, похоже) на что-то вообще в 4.21 влияет или давно устарел и ничего не меняет, на самом деле?
Этот ключ актуален. В некотором смысле он действительно имеет отношение к прорисовке. Если флаг установлен в режим "=1", тогда значки панели инструментов последовательно загрузятся после того как программа загрузит все модули, причем визуально будет заметно что значки появляются по очереди, на это конечно же уйдет чуть больше ресурсов для прорисовки. А если флаг в режиме "=0", то программа будет грузить значки панели в процессе загрузки модулей, а потому во-первых не будет наблюдаться последовательная загрузка значков панели инструментов (то есть они отобразятся сразу все), а во-вторых сама загрузка программы будет выглядеть более долгой. На мой взгляд если запуск Unreal Commander'а производится в неэкстремальных условиях (то есть не при стопроцентной загрузке процессора), то логичнее использовать режим "=1".

Re:

Добавлено: Сб сен 17, 2022 1:56 am
i3v
Max Diesel писал(а): Вс сен 11, 2022 1:21 am
i3v писал(а): Сб сен 10, 2022 11:04 pm В процессе, я почти случайно нашёл и прописал LoadToolbarIconsWithDelay=0 и внезапно всё стало нормально. И вообще стало куда меньше подлагиваний при отрисовке. Правда, может быть это просто совпадение... Теперь мне даже интересно, этот ключ (в последний раз упоминавшийся в 2013, похоже) на что-то вообще в 4.21 влияет или давно устарел и ничего не меняет, на самом деле?
Этот ключ актуален. В некотором смысле он действительно имеет отношение к прорисовке. Если флаг установлен в режим "=1", тогда значки панели инструментов последовательно загрузятся после того как программа загрузит все модули, причем визуально будет заметно что значки появляются по очереди, на это конечно же уйдет чуть больше ресурсов для прорисовки. А если флаг в режиме "=0", то программа будет грузить значки панели в процессе загрузки модулей, а потому во-первых не будет наблюдаться последовательная загрузка значков панели инструментов (то есть они отобразятся сразу все), а во-вторых сама загрузка программы будет выглядеть более долгой. На мой взгляд если запуск Unreal Commander'а производится в неэкстремальных условиях (то есть не при стопроцентной загрузке процессора), то логичнее использовать режим "=1".
Спасибо за пояснение...
А он именно только на запуск влияет или и на последующие перерисовки тоже?
Скорость запуска в данном случае так и так была печальной по понятным причинам, но основная-то проблема не в этом, а в том, что (создавалось такое впечатление) перерисовка зацикливалась.
Т.е., допустим, перерисовка запускаетсяпо таймеру, раз в секунду, но в силу высокой загруженности CPU сама прорисовка занимает 2 секунды (в норме-то она, конечно, занимает 1мс где-нибудь). Т.е. прорисовка начинается заново сразу после окончания предыдущей. (Если бы таймер хотя бы запускался не "с фиксированной частотой" а с "фиксированной задержкой после окончания предыдущей прорисовки", у пользователя уже была бы возможность что-то сделать, не было бы "глухого зависания"....

-----------------------------
И ещё обнаружил сейчас, в похожей ситуации (даже при LoadToolbarIconsWithDelay=0) следующую штуку, наверное более принципиальную для "подвисаний" (см. вложенный скриншот):

Один из дисков сильно нагружен (H:\) и при этом он не супер быстрый. А UC, ещё при загрузке, несколько раз запрашивает его свойства (проверяет сколько свободного места, наверное?)
  1. по столбцу Duration видно, что каждое "спросить размер" занимает несколько секунд для H:\. Хотя для M: и N: там тысячной секунды на все эти операции в сумме не наберётся.
  2. за один "проход по всем дискам" каждый диск открывается-закрывается несколько раз, при том что спрашивается примерно одно и то же (может быть из-за того, что в коде последовательность каких-то высокоуровневых функций? или из-за того, что для каждой панели отдельно запрашивается?)
  3. не знаю, кстати, оптимальны ли флаги с которыми CreateFile делается (Synchronize)... Не от того ли оно тормозит, что пытается следить за изменениями, в результате?
  4. после окончания одного "прохода по всем дискам" фактически сразу начинается второй, хотя окно UC ещё не загрузилось (опять похоже на ситуацию с "запуском с фиксированной частотой")
  5. окно UC в данном случае так и не загрузилось окончательно.
Почему-то системе тяжело даются эти вызовы (может быть потому, что файлы на диск постоянно пишутся, с всё-таки приличными IOPS и поэтому размер постоянно меняется?

Если я угадал, что тормозит фактически получение размера и свбодного места на диске, то было бы наверное здорово если бы UC запрашивал эти свойства именно в духе "через минуту-две после того как прошлый результат получен", например (может быть даже с настраиваемым временем?). И может даже асинхронно, чтоб не дожидаясь их загрузки могла закончится загрузка окна...

Причём, похоже что чем больше процессов UC запущено, тем больше они мешают друг другу и другим приложениям, как будто - даже file explorer штатный начинает ещё больше тормозить (медленее переходить из папки в папку). Возникает подозрение, что несколько UC только и делают, что гоняют эти запросы по очереди, один сразу после другого - диск совсем почти подвисает. Хотя вроде бы только активное окно UC должно обновляться, а неактивные почти никаких событий в process monitor не создают. Непонятно...

Версия UC: 4.21 beta4 (build 1559).

Re: Баги в v4.21 (build 1550-1559)

Добавлено: Сб сен 17, 2022 3:40 am
i3v
И ещё, кстати...
Как видно из информации, которую UC получил о диске (скриншот в предыдущем моём сообщении), у диска H:\ размер кластера NTFS 512*128 байт = 64КБ.
А UC читает/пишет файлы по 32КБ (см. вложенный скриншот).
Это, конечно, не совсем прям баг, но похоже что из-за этого производительность таки может существенно страдать. Возможно было бы полезно учитывать, по возможности, размер кластера при чтении записи (и выставлять размер буфера равный ~8 кластерам, например).
Или может быть просто дать возможность выставить руками дефолтный "размер буфера копирования" (я бы наверное в ~1МБ поставил).

И возможно, кстати, ещё выставление FILE_FLAG_SEQUENTIAL_SCAN плюс GENERIC_WRITE без GENERIC_READ может помочь поднять скорость копирования в каких-то сценариях...

Re: Баги в v4.21 (build 1550-1559)

Добавлено: Пн окт 17, 2022 11:19 pm
i3v
Только что поймал два раза подряд (на двух разных запущенных экземплярах UC b1559) следующий странный визуальный баг:
icons.PNG
больше воспроизвести не смог, но всё же...

Re: Баги в v4.21 (build 1550-1559)

Добавлено: Чт окт 20, 2022 2:42 pm
i3v
Ещё одно наблюдение - во вложенном "fl_error.txt" длинные список однообразных "x64 List index out of bounds" в конце, кажется относится к перемещению пары папок в соседнюю папку, которое я только что пытался осуществить.
Обычно оно работает (хотя и немного странно - сначала происходит перемещение, довольно быстро т.к. в пределах одного диска и никакие файлы не открыты, а потом появляется на пол-секунды пустой диалог перемещения и сразу исчезает), а тут UC подвис почему-то.