View Issue Details

IDProjectCategoryView StatusLast Update
0002890WishesPlugins API.Panelpublic2014-12-17 21:11
ReporterMaximusAssigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status newResolutionopen 
Product Version3.0 
Target VersionFixed in Version 
Summary0002890: Загружать ContentData (C0) только для видимых на панели файлах
DescriptionПри входе в папку с большим количеством файлов (system32) можно уснуть пока Far закончит считывание ContentData для всех ее файлов.
Плагинов может быть много, их действия могут быть затратными, отображение ContentData для НЕ видимых файлов в большинстве случаев смысла не имеет.
TagsNo tags attached.
Build

Activities

shmuel

2014-12-17 12:04

developer   bugnote:0013337

Логично. Но когда (и если) будем делать сортировку по этим колонкам, всё равно придётся считывать для всех файлов.

Maximus

2014-12-17 12:11

reporter  

shmuel

2014-12-17 13:03

developer   bugnote:0013338

Предлагаемый патч добавляет в диалог режима панели опцию "Загружать данные в колонку C0 для всех файлов".

Что это за колонка C0, с учётом того, что чейнжлог билда 4214 говорит "колонки C0 больше нет, есть контент-колонки плагинов в любом количестве" ?

Maximus

2014-12-17 13:10

reporter   bugnote:0013339

Переименовать по вкусу - патч старый.

Хотя я вообще не уверен в необходимости опции - на кой может понадобиться старое поведение?

shmuel

2014-12-17 13:15

developer   bugnote:0013340

> Переименовать по вкусу - патч старый.
Меня не вкус интересует, а суть. Речь идёт об одной контент-колонке или обо всех? Если обо всех, то название опции просто вводит в заблуждение.

JohnDoe

2014-12-17 15:11

updater   bugnote:0013341

Что если воспользоваться опытом TC?
Данные, которые плагин может получить быстро, он возвращает сразу.
Остальное опрашивается в фоне.

Под "быстро" (если я правильно понял) они имеют ввиду "не обращаясь к содержимому файла". Например diz.

Maximus

2014-12-17 15:30

reporter   bugnote:0013342

Суть опции - "опрашивать content плагины". Патч при необходимости показа элемента делает ровно то же что фар делает сейчас.

На счет "быстро". В каталоге 30K файлов. На кой считывать даже "быстрые" данные которые юзер все равно не увидит? Память, время, ... Оно надо?

Maximus

2014-12-17 15:45

reporter  

Maximus

2014-12-17 15:45

reporter   bugnote:0013343

Патч без настройки добавил.

JohnDoe

2014-12-17 15:57

updater   bugnote:0013344

>В каталоге 30K файлов
Тут и раскраска будет тормозить, и жрать память.

>Оно надо?
Смотря для чего.

Исхожу из того, что в TC за всё время наверняка много граблей опробовано.

shmuel

2014-12-17 20:02

developer   bugnote:0013345

Вопрос по 1-му патчу: с какой целью производится коррекция текущей директории на время считывания контент-колонок?

Maximus

2014-12-17 20:28

reporter   bugnote:0013346

Иначе у плагина вообще нет возможности узнать текущую папку панели. Допускать, что папка панели соответствует части пути файла не кажется правильным - случаи разные могут быть.

Но вообще, есть предложение на счет "хэндла" (на форуме), тогда все будет красивше.

DrKnS

2014-12-17 20:36

administrator   bugnote:0013347

Я как-то в опции не вижу смысла.
Подобное поведение надо, в идеале, распространить и на встроенные колонки.


> //BUGBUG: Same as FileList::ReadFileNames
> //BUGBUG: Same as FileList::ReadFileNames

Новый код с новой копипастой?

shmuel

2014-12-17 20:52

developer   bugnote:0013348

> Иначе у плагина вообще нет возможности узнать текущую папку панели.
FCTL_GETPANELDIRECTORY ?

> Допускать, что папка панели соответствует части пути файла не кажется
> правильным - случаи разные могут быть.
На данный момент плагин получает полное имя файла, и это, по идее, всё, что ему требуется. Или я чего-то не догоняю?

И дело даже не столько в том, нужно ли производить временную коррекцию директории, а в том, что это изменение никак не связано с целью данного тикета.

Maximus

2014-12-17 21:01

reporter   bugnote:0013349

> FCTL_GETPANELDIRECTORY

Для какой панели? Hint: их две.

> а в том, что это изменение никак не связано с целью данного тикета

При первичном опросе (и ранее) папка устанавливалась. После предлагаемой оптимизации это сломано быть не должно.
Хотя с ходу я не могу придумать или вспомнить в каких случаях текущая папка может быть важна.
Возможно, это как раз потому что фиг различишь панели в текущем апи.

shmuel

2014-12-17 21:06

developer   bugnote:0013350

> Хотя с ходу я не могу придумать или вспомнить в каких случаях текущая папка может быть важна.
Вот поэтому предпочтительно, IMHO, не вставлять ничего лишнего. Когда появится реальный юз-кейс, будем думать. И, возможно, более элегантно было бы передавать это параметром при вызове плагина.

Maximus

2014-12-17 21:11

reporter   bugnote:0013351

Я не просто так про хендл говлрил на форуме. Копипаста:
-----
Еще мне кажется, что работа с плагином должна быть не "файло-ориентированной", а "панеле-ориентированной".
То есть Фар запрашивает у плагина хэндл для обработки панели (другая панель или другая директория -> другой хэндл), который уже должен использоваться при запросе собственно данных.
Тогда плагин будет знать, нужно ли мониторить изменение content-данных, или юзер уже давно ушел из этой папки.
-----

Но это уже точно другой тикет...

Issue History

Date Modified Username Field Change
2014-12-17 12:01 Maximus New Issue
2014-12-17 12:04 shmuel Note Added: 0013337
2014-12-17 12:11 Maximus File Added: C0-column-optimization.patch
2014-12-17 13:03 shmuel Note Added: 0013338
2014-12-17 13:10 Maximus Note Added: 0013339
2014-12-17 13:15 shmuel Note Added: 0013340
2014-12-17 15:11 JohnDoe Note Added: 0013341
2014-12-17 15:30 Maximus Note Added: 0013342
2014-12-17 15:45 Maximus File Added: Content-data-loading-optimization.patch
2014-12-17 15:45 Maximus Note Added: 0013343
2014-12-17 15:57 JohnDoe Note Added: 0013344
2014-12-17 20:02 shmuel Note Added: 0013345
2014-12-17 20:28 Maximus Note Added: 0013346
2014-12-17 20:36 DrKnS Note Added: 0013347
2014-12-17 20:52 shmuel Note Added: 0013348
2014-12-17 21:01 Maximus Note Added: 0013349
2014-12-17 21:06 shmuel Note Added: 0013350
2014-12-17 21:11 Maximus Note Added: 0013351