View previous topic :: View next topic |
Author |
Message |
Rustn
Joined: 15 Dec 2010 Posts: 45
|
(Separately) Posted: Wed Dec 29, 2010 09:19 Post subject: |
|
|
Хотел поинтересоваться, почему вижу в дебаге 10 строк - [Total7zip] ContentGetSupportedField.
Может стоит уже задуматься об оптимизации кода? |
|
Back to top |
|
|
Total7zip
Joined: 27 Nov 2010 Posts: 287
|
(Separately) Posted: Wed Dec 29, 2010 10:36 Post subject: |
|
|
Rustn вопрос хороший, только задать его надо автору тотал коммандера. то что вы видите - это результат того, что зачем-то список полей получается несколько раз.
я вам даже больше скажу - когда коммандер начинает спрашивать содержимое полей, он делает это так - говорит имя файла и номер колонки. у него нет понятия о начале и конце операции работы с одним файлом. если я возвращаю на каждый файл значения для 4х колонок, то следуя логике коммандера я должен 4 раза открыть каждый файл. конечно это неэффективный бред, и я вставил кэширование на своей стороне.
если не верите - http://ghisler.fileburst.com/content/wdx_id3_src.zip
это плагин написанный угадайте кем. исходники. с оффициальной странички.
так вот этот "Very small and fast plugin" при получении каждого поля делает следующее:
Code: | 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);
....
|
то есть, для того что бы заполнить 10 колонок ghisler(Author) один и тот же mp3 файл откроет и прочитает 10 раз, и назовет это "Very small and fast".
знаете, есть такой плагин - DirSizeCalc, он работает как раз как контент плагин, и страшно тормозит.
а есть другой - VisualDirSize - он работает как плагин листера и показывает размеры папок в несколько раз быстрее. _________________ Total7zip - архиваторный+content+lister плагин, 0.8.5.2 |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1280
|
(Separately) Posted: Wed Dec 29, 2010 10:40 Post subject: |
|
|
Rustn
Тут ничего не оптимизируешь, это особенности реализации WDX API тотала. Для получения полей он несколько раз вызывает функцию ContentGetSupportedField, которая в каждый вызов возвращает одно поле.
То же самое он проделывает и для получения информации по полям. Для файлов с достаточно долгим временем получения информации без кэша никак не обойтись.
Add: Немного опоздал |
|
Back to top |
|
|
Rustn
Joined: 15 Dec 2010 Posts: 45
|
(Separately) Posted: Wed Dec 29, 2010 10:56 Post subject: |
|
|
Спасибо за разъяснения...
Что ж, ничто не совершенно в нашем мире |
|
Back to top |
|
|
Serge Yolkin
Joined: 25 Jul 2009 Posts: 664
|
(Separately) Posted: Thu Dec 30, 2010 01:28 Post subject: |
|
|
Total7zip
Не хочу мешать активной работе над плагином, но раз уж он использует 7zg, нельзя ли, по наличию желания/времени, написать к нему ланчер, чтобы в реестр не лазил? Чтобы его и без плагина использовать. В идеале - возможность хранить несколько профилей, а не только последний. |
|
Back to top |
|
|
Total7zip
Joined: 27 Nov 2010 Posts: 287
|
|
Back to top |
|
|
Rustn
Joined: 15 Dec 2010 Posts: 45
|
(Separately) Posted: Thu Dec 30, 2010 17:50 Post subject: |
|
|
Мда, работает, info оооочень много всего, нужного и не нужного.
Ну в принципе работает! Можно выпускать |
|
Back to top |
|
|
mrmerak
Joined: 20 Aug 2007 Posts: 441
|
(Separately) Posted: Thu Dec 30, 2010 18:18 Post subject: |
|
|
Total7zip
Отлично! Особенно files\folders - это пять!
И сразу же реквест. Добавить wlx-интерфейс. Это не шутка Делать он должен только одно - те же колонки что и у wdx показывать с столбик.
Это я возвращаюсь к теме замены плагинов ArchView\FileInfo. Очень удобно было быстро глянуть инфу для файла под курсором. _________________ TC 9.51 | Win10 1903 |
|
Back to top |
|
|
Total7zip
Joined: 27 Nov 2010 Posts: 287
|
|
Back to top |
|
|
mrmerak
Joined: 20 Aug 2007 Posts: 441
|
(Separately) Posted: Thu Dec 30, 2010 18:33 Post subject: |
|
|
Total7zip
Бог мой, канечно нет... можешь даже в след. году
немного размышлений по-поводу каким должен быть wlx (пиши в todo ):
1. Настраиваемый шрифт\размер\цвет (круто это сделано в TCTorrent). Вопрос где хранить для этого настройки... по-моему хороший вариант, все в том же Total7zip.xml, разделить типа такого:
Code: |
<settingsWCX>
<gui lang="" />
...
</settings>
<settingsWLX>
...
</settings>
|
2. РУС\ENG фейсы... по идеи можно брать с Lang\ru.txt, но тогда исходя из предыдущего поста должны быть каки-то общие параметры, как <gui lang="" />
Кстати, почему у меня установлено <gui lang="ru" /> но колонки в wdx на инглише? _________________ TC 9.51 | Win10 1903 |
|
Back to top |
|
|
Total7zip
Joined: 27 Nov 2010 Posts: 287
|
|
Back to top |
|
|
mrmerak
Joined: 20 Aug 2007 Posts: 441
|
(Separately) Posted: Thu Dec 30, 2010 18:49 Post subject: |
|
|
Total7zip
тогда для плага нужно создать свои языковые файлы - общие для wdx\wlx.
И кста я знаю когда можно назначить версию 1.0 - после wlx и gui-настроек _________________ TC 9.51 | Win10 1903 |
|
Back to top |
|
|
Total7zip
Joined: 27 Nov 2010 Posts: 287
|
|
Back to top |
|
|
Total7zip
Joined: 27 Nov 2010 Posts: 287
|
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Dec 31, 2010 18:15 Post subject: |
|
|
Спасибо за релиз! Всё-таки лучше ссылку на русфоруме давать не на английское зеркало, а на наш сайт.
Files два раза в колонках встречается.
ИМХО, колонки, которые есть в shelldetails, здесь не нужны.
Ждём подхвата lng. |
|
Back to top |
|
|
|