GetFindData

Место, где разработчики плагинов могут поделиться своим опытом.
User avatar
Alexey Samlyukov
Posts: 1765
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 7 times
Contact:

GetFindData

Post by Alexey Samlyukov »

Это только у меня сабж отрабатывает в лучшем случае раз в 5-ть медленнее чем ФАР?
Посмотреть можно на следующем примере: зайти в папку с 5000 файлами - там в архив и назад - менее 1 сек.
Теперь скопировать эти 5000 файлов на ТемпПанель - зайти там в архив и обратно - более 5 сек на построение элементов :(
И это при простом копировании участка памяти! при том что сам фар перед этим еще и строит индекс файлов с диска...
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Post by t-rex »

Alexey Samlyukov
Ты хоть сам понял что сказал? При возвращении из архива в обычную папку срабатывает кэш винды потому и быстро и при выходе из архива в тмппанель никакого кэша винды само собой нету и время построения элементов зависит от самой тмппанели.
User avatar
Alexey Samlyukov
Posts: 1765
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 7 times
Contact:

Post by Alexey Samlyukov »

Я как раз и не понимаю - в чем разница то?
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Post by t-rex »

Alexey Samlyukov
А ты подумай.
User avatar
Alexey Samlyukov
Posts: 1765
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 7 times
Contact:

Post by Alexey Samlyukov »

А что тут думать - оптимизировать вам надо сабж.
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Post by t-rex »

Alexey Samlyukov
Ты тупой или прикалываешся?
User avatar
Alexey Samlyukov
Posts: 1765
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 7 times
Contact:

Post by Alexey Samlyukov »

ты видать не въехал в то что я написал в первом топике
User avatar
Alexey Samlyukov
Posts: 1765
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 7 times
Contact:

Post by Alexey Samlyukov »

Т.е. как это выглядит со стороны: мы даем ФАРу через сабж уже готовые! элементы и он нам показывает их через 5 сек. При этом сам ФАР готовит эти элементы и показывает нам за 1 сек.
Спрашивается - в чем разница?
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Post by t-rex »

Alexey Samlyukov
Не, ты всё таки тупой. Такое ощущение что сорцов тмппанели и не видел то никогда хотя и что то там пытаешся патчить.
User avatar
Alexey Samlyukov
Posts: 1765
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 7 times
Contact:

Post by Alexey Samlyukov »

От тебя кроме оскорблений я так ничего внятного и не услышал (не удивительно что ты так и не смог написать хелп по фильтрам...). Кроме AY, кто-нибудь пояснит мне в чем тут дело?
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Post by t-rex »

Alexey Samlyukov
Я вроде понятно выразился, смотри сорцы тмппанели - соответсвенно в функцие GetFindData, и думай головой.
User avatar
Alexey Samlyukov
Posts: 1765
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 7 times
Contact:

Post by Alexey Samlyukov »

Ну и?

Code: Select all

int TmpPanel::GetFindData(PluginPanelItem **pPanelItem,int *pItemsNumber,int OpMode)
{
  IfOptCommonPanel();
  *pPanelItem=TmpPanelItem;
  *pItemsNumber=TmpItemsNumber;
  return(TRUE);
}
User avatar
Alexey Samlyukov
Posts: 1765
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 7 times
Contact:

Post by Alexey Samlyukov »

для полноты:

Code: Select all

void TmpPanel::IfOptCommonPanel(void)
{
  if(StartupOptCommonPanel)
  {
    TmpPanelItem=CommonPanels[PanelIndex].Items;
    TmpItemsNumber=CommonPanels[PanelIndex].ItemsNumber;
  }
}
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Post by t-rex »

Alexey Samlyukov
Ты ещё и слепой?

Code: Select all

 IfOptCommonPanel();
  static struct PanelInfo PInfo;
  Info.Control(this,FCTL_GETPANELINFO,&PInfo);
  [b]UpdateItems(IsOwnersDisplayed (PInfo),IsLinksDisplayed (PInfo));[/b]
  *pPanelItem=TmpPanelItem;
  *pItemsNumber=TmpItemsNumber;
  return(TRUE);
User avatar
Alexey Samlyukov
Posts: 1765
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 7 times
Contact:

Post by Alexey Samlyukov »

в моей панели этого нет. а темппанель была взата просто как пример, т.к. она установлена у всех.
Post Reply

Return to “Разработка плагинов”