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 

Single Post  Topic: Ограничения (баги?) при открытии и навигации в архивах 
Author Message
CaptainFlint



PostPosted: Wed May 14, 2014 23:04    Post subject: Reply with quote

LonerD wrote:
Насколько я понимаю, проблема с TC x32 в том, что он может использовать только ограниченное количество оперативки. Это баг или очередное бессмысленное ограничение Тотала? Ведь 64-х битная ОС позволяет выделять приложениям неограниченное количество памяти (и нет ограничений на размер непрерывного блока, выделяемого приложению в оперативке).

Как выше написал MVV, воспользоваться сиими благами сможет только 64-битный процесс. 32-битному для этого надо извращаться с AWE, что Гислера, видимо, нисколько не вдохновляет, тем более, что нужно это лишь для подобных, прямо скажем, не очень часто встречающихся ситуаций.

Немножко лучше обстоит дело, если 32-битный процесс имеет флаг LARGE_ADDRESS_AWARE: тогда 64-битная система может дать ему доступ ко всему 4-гигабайтному адресному пространству, не отбирая оттуда 2 Гб под свои нужды. Но у Тотала этот флаг не установлен (Гислер говорит, соответствующей опции нет в линкере Delphi).

LonerD wrote:
Очень медленная навигация внутри архива.

Работа с архивами производится не так, как с обычной файловой системой. Список файлов там обычно не делится по каталогам, а хранится сплошняком (в виде относительных путей) и поэтому грузится в память целиком. Так что каждое действие по навигации приводит к поиску и фильтрации всего этого списка из 3,6 млн записей для выдачи содержимого конкретного подкаталога. Понятно, что это — дело небыстрое. Скорость диска роли не играет, т.к. список весь в памяти.

LonerD wrote:
а сам архиватор 7-Zip довольно шустро работает с этим же архивом.

Тотал жёстко связан RAR-подобным плагиновым интерфейсом. Я не знаю ни структуры 7z-архивов, ни кода 7-Zip, но очень может быть, что для навигации там используются дополнительные возможности, не укладывающиеся в рамки WCX API. Впрочем, не исключено, что Гислер просто не исследовал этот сценарий, и там ещё есть резервы по оптимизации.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
View user's profile Send private message Visit poster's website


Powered by phpBB © 2001, 2005 phpBB Group