Total7zip
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
Rustn вопрос хороший, только задать его надо автору тотал коммандера. то что вы видите - это результат того, что зачем-то список полей получается несколько раз.
я вам даже больше скажу - когда коммандер начинает спрашивать содержимое полей, он делает это так - говорит имя файла и номер колонки. у него нет понятия о начале и конце операции работы с одним файлом. если я возвращаю на каждый файл значения для 4х колонок, то следуя логике коммандера я должен 4 раза открыть каждый файл. конечно это неэффективный бред, и я вставил кэширование на своей стороне.
если не верите - http://ghisler.fileburst.com/content/wdx_id3_src.zip
это плагин написанный угадайте кем. исходники. с оффициальной странички.
так вот этот "Very small and fast plugin" при получении каждого поля делает следующее:
то есть, для того что бы заполнить 10 колонок ghisler(Author) один и тот же mp3 файл откроет и прочитает 10 раз, и назовет это "Very small and fast".
знаете, есть такой плагин - DirSizeCalc, он работает как раз как контент плагин, и страшно тормозит.
а есть другой - VisualDirSize - он работает как плагин листера и показывает размеры папок в несколько раз быстрее.
я вам даже больше скажу - когда коммандер начинает спрашивать содержимое полей, он делает это так - говорит имя файла и номер колонки. у него нет понятия о начале и конце операции работы с одним файлом. если я возвращаю на каждый файл значения для 4х колонок, то следуя логике коммандера я должен 4 раза открыть каждый файл. конечно это неэффективный бред, и я вставил кэширование на своей стороне.
если не верите - http://ghisler.fileburst.com/content/wdx_id3_src.zip
это плагин написанный угадайте кем. исходники. с оффициальной странички.
так вот этот "Very small and fast plugin" при получении каждого поля делает следующее:
Код: Выделить всё
int __stdcall ContentGetValue(char* FileName,int FieldIndex,int UnitIndex,void* FieldValue,int maxlen,int flags)
{
......
f=CreateFile(FileName,GENERIC_READ,FILE_SHARE_READ | FILE_SHARE_WRITE,NULL,
OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if (f==INVALID_HANDLE_VALUE)
return ft_fileerror;
SetFilePointer(f,-128,NULL,FILE_END);
memset(&id3buf,0,sizeof(id3buf));
if (ReadFile(f,&id3buf,128,&bytesread,NULL) && bytesread==128) {
CloseHandle(f);
....
знаете, есть такой плагин - DirSizeCalc, он работает как раз как контент плагин, и страшно тормозит.
а есть другой - VisualDirSize - он работает как плагин листера и показывает размеры папок в несколько раз быстрее.
Rustn
Тут ничего не оптимизируешь, это особенности реализации WDX API тотала. Для получения полей он несколько раз вызывает функцию ContentGetSupportedField, которая в каждый вызов возвращает одно поле.
То же самое он проделывает и для получения информации по полям. Для файлов с достаточно долгим временем получения информации без кэша никак не обойтись.
Add: Немного опоздал
Тут ничего не оптимизируешь, это особенности реализации WDX API тотала. Для получения полей он несколько раз вызывает функцию ContentGetSupportedField, которая в каждый вызов возвращает одно поле.
То же самое он проделывает и для получения информации по полям. Для файлов с достаточно долгим временем получения информации без кэша никак не обойтись.
Add: Немного опоздал
-
Serge Yolkin
- Сообщения: 664
- Зарегистрирован: Сб июл 25, 2009 11:12
Total7zip версия 0.7.0.1
закончен Contetn плагин, жду отзывов.
RC на www.totalcmd.net
http://narod.ru/disk/2455565001/wcx_Tot ... 1.rar.html
закончен Contetn плагин, жду отзывов.
RC на www.totalcmd.net
http://narod.ru/disk/2455565001/wcx_Tot ... 1.rar.html
Total7zip
Отлично! Особенно files\folders - это пять!
И сразу же реквест. Добавить wlx-интерфейс. Это не шутка
Делать он должен только одно - те же колонки что и у wdx показывать с столбик.
Это я возвращаюсь к теме замены плагинов ArchView\FileInfo. Очень удобно было быстро глянуть инфу для файла под курсором.
Отлично! Особенно files\folders - это пять!
И сразу же реквест. Добавить wlx-интерфейс. Это не шутка
Это я возвращаюсь к теме замены плагинов ArchView\FileInfo. Очень удобно было быстро глянуть инфу для файла под курсором.
TC 9.51 | Win10 1903
Total7zip
Бог мой, канечно нет... можешь даже в след. году
немного размышлений по-поводу каким должен быть wlx (пиши в todo
):
1. Настраиваемый шрифт\размер\цвет (круто это сделано в TCTorrent). Вопрос где хранить для этого настройки... по-моему хороший вариант, все в том же Total7zip.xml, разделить типа такого:
2. РУС\ENG фейсы... по идеи можно брать с Lang\ru.txt, но тогда исходя из предыдущего поста должны быть каки-то общие параметры, как <gui lang="" />
Кстати, почему у меня установлено <gui lang="ru" /> но колонки в wdx на инглише?
Бог мой, канечно нет... можешь даже в след. году
немного размышлений по-поводу каким должен быть wlx (пиши в todo
1. Настраиваемый шрифт\размер\цвет (круто это сделано в TCTorrent). Вопрос где хранить для этого настройки... по-моему хороший вариант, все в том же Total7zip.xml, разделить типа такого:
Код: Выделить всё
<settingsWCX>
<gui lang="" />
...
</settings>
<settingsWLX>
...
</settings>
Кстати, почему у меня установлено <gui lang="ru" /> но колонки в wdx на инглише?
TC 9.51 | Win10 1903
0.7.0.2
http://narod.ru/disk/2463569001/wcx_Tot ... 2.rar.html
фикс - в 0.7.0.1 было зависание при обновлении архива, если в корне была только папка...
http://narod.ru/disk/2463569001/wcx_Tot ... 2.rar.html
фикс - в 0.7.0.1 было зависание при обновлении архива, если в корне была только папка...
Последний раз редактировалось Total7zip Пт дек 31, 2010 17:17, всего редактировалось 1 раз.
Спасибо за релиз! Всё-таки лучше ссылку на русфоруме давать не на английское зеркало, а на наш сайт.
Files два раза в колонках встречается.
ИМХО, колонки, которые есть в shelldetails, здесь не нужны.
Ждём подхвата lng.
Files два раза в колонках встречается.
ИМХО, колонки, которые есть в shelldetails, здесь не нужны.
Ждём подхвата lng.