Свежие комментарии

Title Comment
Мониторинг каталога -

Мониторинг каталога - системный (WaitForMultipleObjects в винде и аналог в OS X).
Он не говорит "кто в каталоге изменился", он говорит "каталог изменился".

FRV - перечитывает только список файлов и если появились новые - их покажут (а удаленные - спрячут). Для уже виденных файлов - автоперечиывания нет, потому что дорого по ресурсам.

Но есть гайка в заголовке (левом крае) окна Filmstrip, а на ней refresh thumbnails/ratings, если ее нажать - все перечитает.

А мониторинг каталога на

А мониторинг каталога на изменения смотрит на обновление размера или времени перезаписи? Просто вот ситуация: юзер смотрит в окно с превьюшками и вносит поправки в какой-нибудь JPEG посредством внешнего редактора. Превью обновляется только после перезапуска FRV. Некритично, но мало ли.

А вам спасибо что закричали!

А вам спасибо что закричали!
Потому что у меня и в мыслях не было, что в природе остались ТАКИЕ носители (как 8-летней давности ноутбучный диск, сунутый в USB-читалку и форматированный в exFAT).

Заодно, понятно, мы починили другой типичный паттерн - хождение к сетевому накопителю по WiFi, тоже ж дело.

Потестил - на NTFS c нулевым

Потестил - на NTFS c нулевым префетчем и 2 потоками префетча все работает почти так же быстро как и без ленты. Понастраивал кэш и количество потоков рав декодировки - теперь все бегает шустренько. Спасибо.

Нужны, нужны настройки

Нужны, нужны настройки префетча per drive (в режиме указания типа, "Fast SSD", "Single fragmented HDD with exFAT").
Но не в этой версии, потому что вот threads префетчеров пускаются на старте программы и их число на рантайме не регулируется. Записал в кондуит (может заодно автомат сделаем, программно отличить SSD вроде можно, вот с массивами хуже).

Спасибо - инсталлирую

Спасибо - инсталлирую

(отвечаю тут, чтобы оба

(отвечаю тут, чтобы оба участника треда увидели ответ)

Сделал кнопку в статусбаре, рядом с включением/выключением всех панелей.
Удобно, кстати. Спасибо что настояли!
http://blog.lexa.ru/2015/04/26/fastrawviewer_11_rc4.html

Или вот RC4: http://blog.lexa

Или вот RC4: http://blog.lexa.ru/2015/04/26/fastrawviewer_11_rc4.html
Добавлена кнопка Filmstrip Off/On (если он по большей части не нужен, так и выключить!)

А перевозьмите оттуда же

А перевозьмите оттуда же (http://updates.fastrawviewer.com/data/110rc3/) 627-й билд.

Я ему еще оптимизма оторвал: если оно всегда префетчило +1 row (потому что когда light table, это нужно)/а юзерские настройки шли вдобавок к/, то теперь в режиме filmstrip оно +1 file.

Попробовал спасибо. На exFAT

Попробовал спасибо. На exFAT с префетчем превьюх все равно тормозит сильно, я его в 0 оставил - так нормально. Сейчас конвертирую ФС в NTFS, в ней погоняю.

Пишу повыше к началу треда,

Пишу повыше к началу треда, чтобы другим читателям было легче найти. Попробуйте версию отсюда: http://updates.fastrawviewer.com/data/110rc3/

Настройки:

  1. Preferences - Performance - Thumbnail cache - Thumbnail decoder thread count.
    Для HDD ставить в 1-3 (чем больше - тем больший будет приоритет у построителя превьюшек относительно остального).
    Для SSD: в 2x CPU core count (больше нет смысла, внутри программы больше 2x core не поставится). На SSD дает чудесный эффект: превьюшки строятся быстрее, чем я мотаю мелкие превью 100x66 в большом окне (в котором ~160 превьюшек).
  2. Preferences - Performance - Thumbnail cache - Thumbnail prefetch depth
    Можно уменьшать, но при одном потоке можно оставить как есть, оно зачитает в один поток вперед свои 30 штук, не мешая остальному.
  3. Preferences - Performance - Memory usage and performance - Number of.. decode threads
    Для плавного листания (пробелом) на HDD надо ставить в 2-3, иначе будет рывками. Если типичный паттерн поведения "на файл все-таки смотрим", то можно ставить (оставить) побольше чтобы оно в фоне насасывало побольше.

Разное

Следует понимать такие два момента

  1. При выборе файла через Filmstrip он начинает показываться не мгновенно, а ждет долю секунды на предмет, "не выберет ли юзер что-то еще". Поэтому на соседний файл переключаться быстрее по старинке, пробелом.
  2. При выборе через Filmstrip "не соседнего" (дальше чем 'Number of decode threads') файла - префетч соседей не делается (потому что детектируется random walk, префетчить нет смысла).

Соответственно, если хочется пролистать 2-3-4 файла (и в планах дальше листать вперед) - это быстрее делать пробелом, а не тыканьем мышом в filmstrip.
 

Да, вот в строку состояния -

Да, вот в строку состояния - наверное можно. Только Filmstrip, остальным много чести.

Посмотрим. Меня выезжающие

Посмотрим. Меня выезжающие панели бесят.

С другой стороны, вот есть уже иконки кликабельные в нижней строке, можно туда воткнуть.

Как вариант визуально

Как вариант визуально "оставлять" кусочек темной подложки:
https://dl.dropboxusercontent.com/u/17378315/frv_filmstrip_2.png

https://dl.dropboxusercontent.com/u/17378315/frv_filmstrip_3.png

Еще кнопку можно разместить в

Еще кнопку можно разместить в углу, вот так:
https://dl.dropboxusercontent.com/u/17378315/frv_filmstrip.png

Так она будет расположена рядом с крестиком после закрытия, что неплохо.

[q]15" макбуке (1400x900

[q]15" макбуке (1400x900 эффективных)[/q]
Понятно что у всех мониторы разные, у меня 1900х1200 24
Вот и хочется...
А всё таки, если всунуть в строку состояния-управления, ведь там место есть или только у таких как я...

Я предлагаю сделать маленькую

Я предлагаю сделать маленькую кнопку(с пиктограммой filmstrip) снизу посередине, которая появляется при поднесении мышки к нижней части экрана.

Да я доведу работу с

Да я доведу работу с медленным диском в USB3-читалке до приемлемой.

Чудес не будет, потому что ограничивается все диском, но придавить чтение превьюшек, чтобы они основной функциональности не мешали - всяко можно.

Попробую переконвертить ФС на

Попробую переконвертить ФС на NTFS у меня вроде парагоновские драйвера теперь есть в мак оси. Просто кроме exFAT ничего лучше в голову не приходило года три назад когда я все это устанавливал чтобы работало с Мака и виндов.

Ну и надо на mmap()

Ну и надо на mmap() переходить конечно везде. Это прогрессивно и правильно.

Записал в отдельный TODO по техническому долгу, летом надо бы его сделать.

Я таки тестировал на HDD, но

Я таки тестировал на HDD, но он у меня сформатирован NTFS, там на больших каталогах все гораздо веселее. exFAT - да, все довольно печально выглядит.

В новом FRV стало хуже, потому что "со всеми потоками" старый FRV реально при листании с устоявшейся скоростью - префетчит по 1-2 (все потоки работают только при открытии файла или позиционировании в случайное место). А новый - префетчит превьюшки во все ядра (считая и виртуальные) - на моих экспериментах с NTFS это работало весело и я не стал делать ограничений по декодерам thumbnails.
И, да, несколько потоков чтения на HDD - убивают перформанс очень сильно. Головка дрыгается, а толку нету.

Но, как я уже где-то выше написал, если панель Filmstrip закрыть, то все будет как раньше, в закрытую панель превьюшки не декодируются.

Спасибо - это будет работать

Спасибо - это будет работать нормально

Соврал - не помогает...

Соврал - не помогает...

Это смотря в какую сторону вы

Это смотря в какую сторону вы мотаете ленту.

То есть вот смотрите мой комментарий от 12:59, это виндовая драка за файл-локи, я уже вот починил, осталось сделать так, чтобы один файл (допустим он битый и там превьюшка 0x0 таки) много раз не онанировало.

>>Только в ленте превьюшки

>>Только в ленте превьюшки почему то не всегда отображаются

О как я люблю такие баги, которые на concurrency:

1) под виндой файлы открываются в exclusive mode (и, скажем, для std::filebuf(), который используются - я не знаю как отменить блокировки, смешно).
2) Мы отменили префетч, поэтому когда мы мотаем filmstrip - у нас оно не префетченое и вот будет читаться прямо сейчас.
UPD: или мы не включили "префетч назад" а по filmstrip идем в обратную сторону.
3) Дальше мы наудачу ткнем в еще не прочитанную иконку - и этот же файл будет читаться в другом месте (thumbnail cache - сильно отдельный от отстального FRV)
4) Шансы что они вдвоем подерутся - на медленном носителе достаточно велики.
Они и дерутся.

В результате из файла достается thumbnail размером 0x0, который и кэшируется в thubmbnail cache.

Вот не стал сильно париться: эти которые 0x0 просто кладутся в retry queue и будут префетчены повторно, через пару секунд, по таймеру.

Проблема уходит если в

Проблема уходит если в настройках включить Prefetch thumbnails for preceding images

Ну iMac это к примеру. На PC

Ну iMac это к примеру. На PC все еще хуже - особенно если не собирать самому. К примеру можно держать кучу фотографий за много лет на большом разделе который на SSD не влезает итп.

Свою проблему я понял спасибо, надо чего то быстрее.

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

Ценой места.

Ценой места.
Лайтрум на 15" макбуке (1400x900 эффективных) выглядит безобразно. Собственно картинка занимает четверть экрана по площади (померял). В том числе и за счет нижнего поля со стрелкой, совершенно бесполезного.

Я вот, к сожалению, не умею

Я вот, к сожалению, не умею еще программно отличить SSD от HDD, надо разбираться и с этим.

А кто покупает аймак с HDD, а не (хотя бы) с fusion drive - будет страдать.

Для "медленных" с одним HDD

Для "медленных" с одним HDD думаю надо зажимать. Как мне кажется для многих кто покупает себе скажем iMac для обработки фоток со встроенным диском и не парится с RAID (иногда даже не зная что это) это будет довольно частая ситуация. Я могу ошибаться конечно...

Pages

Subscribe to comments_recent_new