Pull to refresh
60
-4
Влад Волков @Antiever

User

Send message

К сожалению даже самый свежий билд Far (как и все файловые менеджеры что я тестировал) тоже ничего не проверяет и хоть и отрисовывает "окно" сам, базовый алгоритм создающий пункты для меню у него стандартный. Я в общем-то и написал данную заметку с целью "подсветить" проблему и думаю имеет смысл просто сделать тикет на гитхабе фара, благо он до сих пор активно допиливается.

Магия Хабра сделала свое дело (ну или детализация причин проблемы, кому как удобнее), тикет переведен в статус open-accepted и разработчик "хотя бы частично" исправит сабж.

Мб вы просто используете штатный проводник, а не какой-то другой ФМ?

Как это ни странно, но я сам пользуюсь 7-zip уже более 10 лет и просто уже привык к этим микро-тормозам и "неторопливому" меню. Если на этом не фокусировать внимание, вроде все достаточно быстро работает и мысли не было что-то проверять. Но вот как раз такие пограничные случаи и выявляют всю кривизну рабочего окружения, когда копнешь чуть глубже...

PS

Про выделение одного файла см выше.

У вас лаг в меню на одном файле? Такого обычно быть не должно (ну может какое-то совсем кривое расширение шалит).

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

Я уверен, что есть достаточно кейсов когда в работе находится ощутимо большое количество файлов. В этом подмножестве будут и случаи, когда нужно выделить файлы выборочно, тогда их нужно дополнительно выпиливать из архива?
А если другой пользователь не догадается поступить подобным образом?
А когда в новом апдейте меню еще "притормозят" нужно будет прикладывать к монитору подорожник?

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

Ну "интрига с садовником" в общем-то раскрыта в начале заметки (в сноске о проводнике Windows). Если мы посмотрим Рекомендации по обработчикам контекстного меню от MS, то там явно прописан оптимальный алгоритм. А учитывая тот адок, который начинается при вызове меню, можно понять и столь малое значение (так-то по факту можно и для 64 объектов обработку делать и даже больше, без ощутимого лага). На алтарь универсальности методов MS принесли производительность, плюс тонна легаси и желание навернуть модных "свистелок" вместо оптимальной реорганизации кода.
По такому алгоритму работает и штатный проводник, независимо от количества выбранных файлов, он останавливает итерацию после первых 16 объектов и создает меню. 7-zip в свою очередь, просто в лоб парсит все содержимое объекта данных, сколько бы тысяч "имён" там ни было, а это не самая быстрая операция, знаете ли... И если так случилось (а это почти всегда так и бывает), что программа не ограничила число файлов для которого вызывает меню, то она сама потратила лишнее время на генерацию PIDL, а тут еще и архиватор, ничего не проверяя, начинает лопатить всё подряд. Так и живём...

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

Сижу на DEV версии Chrome, уже давно из-за этого не работает сбербанк-онлайн. Приходится в других браузерах его открывать пока.
Аналогично. Уже предвкушал описание внутренних алгоритмов, а тут очередная вариация… Жаль.
Заблокировать рекламу проще всего по средствам файла hosts

Способ хорош, к сожалению некоторые ресурсы определяют отсутствие «контента» с запрещенных источников и блокируют содержимое полностью (например overclockers).

Information

Rating
Does not participate
Location
Россия
Registered
Activity