FastRawViewer 1.8: технологическое превью

FastRawViewer 1.8 (номер версии условный, чтобы отличать от других) не привносит никакой новой функциональности.  В этой версии мы сфокусировались на «внутренностях», причем на базовых функциях программы: быстрый показ raw-файлов (и остальных форматов тоже, конечно)

Что нового

Изменилась вся организация многопоточности, кэшей декодированных файлов и подобного:

  • Все настройки размеров кэшей и многопоточности можно менять на ходу, без рестарта FRV (таким образом, остаются только три настройки Preferences требующие рестарта: графический режим |только под Windows|, Use reduced folders panel functions, Enable Grid mode)
  • Многопоточность может быть настроена отдельно для каждого носителя (диска, сетевого тома и даже подкаталога), теперь не нужно делать настройки по самому медленному диску.
  • FastRawViewer стал работать значительно быстрее:
    • При чтении превьюшек и метаданных на десятки процентов (если не упирается в диск)
    • При листании файлов в 1.5-2 раза (опять же, если позволяет скорость чтения с диска)
  • FastRawViewer стал работать значительно плавнее:
    • При смене текущей папки он не будет вычитывать сразу много файлов
    • Чтение (prefetch) файлов может происходить в режиме ‘while idle’ (если нет никаких других файловых активностей внутри FRV).

Новые настройки подробнее описаны ниже (в разделе Новые и измененные настройки)

Что убрано

Самое важное

  1. Legacy-версии для старых Mac OS X больше нет, поддерживаются macOS 10.12 – 11.x
    Это изменение вынужденное: новые версии Qt5 не поддерживают старые Mac OS X
  2. 32-битных версий под Windows тоже больше нет. Только Windows 7-10/64 бита.
    Это изменение осознанное: для разумной работы с (большим количеством) RAW-файлов двух гигабайт памяти (на все программы сразу) уже точно не хватает.

Если вы продолжаете использовать старые операционки – используйте FastRawViewer 1.7.

Прочее

Удалены устаревшие, ненужные, практически не используемые настройки

  • Preferences
    • Использование своих файловых диалогов: всегда используются системные
    • Использование системных иконок в панели Folders: всегда используются свои
    • OX X 10.7 (Lion) fullscreen mode
  • Скрытые: UseMMapedIO, UseTBB, AlternateKeyHandler

Новые и измененные настройки

Закладка File Handling

Настройка Check for folder updates each … перенесена из старой закладки Performance

Закладка Removable Media

Настройки про мониторинг изменения папок и глубину предварительного чтения файлов (Prefetch) перенесены на новую закладку Performance – Slow Media (см. ниже).

Закладка Performance

Эта закладка заметно переработана (в верхней части)

Группа Decoded files cache size

  • RAW:, RGB files: размер кэша декодированных файлов (в файлах)
    Стандартные значения (defaults) устанавливаются в зависимости от количества доступной памяти.
    При установке размеров кэшей следует учитывать количество памяти, занимаемое данными:
    • 2 мегабайта на мегапиксель для «обычных байеровских файлов»
    • 8 мегабайт на мегапиксель для «полноцветных» (Linear DNG, Sony ARQ, Pentax 4-shot)
    • 16 мегабайт на мегапиксель для полноцветных в плавающей точке (HDR-склейки и подобное).
    • 4 мегабайта на мегапиксель для RGB-файлов (JPEG, TIFF, HEIC и так далее).
  • Flush decoded RAW/JPEG caches on file/folder forced reload (настройка перенесена из группы Other performance settings на той же странице): если галочку включить (стандартно – выключена), то по Menu – File – Reload - … кэши будут сбрасываться.

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

Группа Global File Preferch parameters

В этой группе настраивается общее поведение FastRawViewer при предварительном чтении файлов.

  • Prefetch Depth: максимальная глубина предварительного чтения (в файлах/парах файлов для RAW+JPEG).
    Prefetch Depth не может быть больше, чем половина размера кэша соответствующего типа (если размеры кэшей разные, то глубина Prefetch ограничивается отдельно для каждого типа файлов)
    Если вы просматриваете файлы в случайном порядке (т.е. нельзя выявить направление листания), предварительное чтение будет проводиться на половину Prefetch Depth в каждую сторону. При листании в одном направлении – вся Prefetch Depth будет выбрана «в этом направлении».
  • Parallel Prefetches … Auto-Extend to….
    При первом открытии файла в папке – будет запущено Parallel Prefetches одновременных чтений (см. ниже про ограничения). Если вы листаете файлы в одном и том же направлении И если включено Auto-Extend, каждый следующий раз будет запускаться на одно параллельное чтение больше, пока общее количество параллельных чтений не достигнет значения Auto-extend to (или не закончится Prefetch Depth).
    При смене направления листания – все опять начнется с Parallel Prefetches и будет увеличиваться до Auto-Extend to…
  • Prefetch while idle
    Если FastRawViewer не занят чтением других данных (Parallel Prefetch, или чтение метаданных/превьюшек) и данная настройка включена (не поставлена в No), то раз в две секунды будет запускаться попытка чтения одного файла (без учета направления листания, вокруг текущего файла).
    Значения настройки
    • No – не делать предварительное чтение в фоне (стандартное значение)
    • In Single View mode – только в режиме просмотра одного файла
    • In Single View and Grid mode – и в режиме сетки тоже (при этом пред-прочитан будет в первую очередь тот файл, на котором вы стоите в режиме сетки).
  • Count RAW+JPEG as two prefetches: для пар RAW+JPEG их пред-чтение будет считаться как два одновременных (например, при «Parallel Prefetches: 4» одновременно будут читаться две пары RAW+JPEG).

Остальные параметры на этой закладке не изменились относительно версии 1.7

Закладка Performance Thumbnail Cache

На этой закладке ничего не изменилось внешне, но изменение настройки Thumbnail decoder thread count вступает в силу сразу, а не после рестарта FastRawViewer (с учетом параметров, установленных на следующей закладке)

Закладка Performance – Slow Media

Эта закладка в настройках позволяет установить параметры параллельного чтения для типов носителей (сменные и сетевые) и для каждого тома/буквы диска отдельно.

Группа Removable media parallel access

Группа Network media parallel access

(настройки в двух группах полностью идентичны)

  • Monitor folder changes: проверять ли появление(/пропадание) файлов в текущем просматриваемом фолдере.
  • Limit parallel file prefetch:
    Ограничивать количество одновременных чтений файлов указанной величиной.
    Этот ограничитель применяется после расчета количества одновременных чтений из Parallel Prefetches/Auto-extend to (на предыдущей странице).
  • Limit parallel thumbnail reading:
    Ограничивает количество одновременных чтений превьюшек и метаданных

Внимание: если включена настройка Preferences – Other – Use reduced Folders panel functions, то определение типа носителя (сетевой/сменный/внутренний) не производится и описанные настройки не применяются (но можно установить лимиты вручную в следующей секции).

Группа Volume/Drive specific settings

В табличке в этой группе перечислены

  • Все смонтированные в системе тома (Windows: буквы дисков)
  • Добавленные вручную (через кнопку Add custom prefix) пути к папкам.

Для каждого пути можно

  • Включить собственные параметры (галочка Ovrd)
  • File prefetch: количество потоков одновременного предварительного чтения файлов
  • Thumbnail prefetch: количество потоков чтения превьюшек и метаданных.

При установке параметров для конкретной папки, просматриваемой в FastRawViewer, применяются параметры для совпавшего пути/префикса с наибольшей длиной.

Соображения по настройке

Стандартные настройки частично будут унаследованы от ваших текущих (размер кэша и Prefetch Depth – этот параметр раньше назывался «Number of simultaneous Raw decode threads»), а частично установлены в некоторые разумные умолчания исходя из количества памяти и количества ядер процессора.

Разумные умолчания никак специально не подбирались, но неявно предполагается, что у вас используется SSD-диск(и), который не снижает производительность при параллельных запросах.

Если основное хранилище у вас SSD (или очень быстрое сетевое хранилище с 5/10Gbit ethernet и SSD-кэшем на той стороне), то

  • Основные параметры можно оставить как есть
  • А можно попробовать увеличивать стартовое и предельное количество потоков чтения.

Для медленных же носителей (механический/магнитный диск, сетевое хранилище через гигабитный Ethernet) рекомендуется ставить небольшое предельное количество одновременных потоков чтения. Или глобально (общей настройкой), или индивидуально через табличку смонтированных носителей.

Ссылки для скачивания

Версия устарела, берите более новую вот тут.

Comments

Hello Axel,
FRV crashes after repeated Shadow boosts. This occurs for raw files from a Nikon Z6 and a Ricoh GR III.
Thank you and BR
Johannes

Thank you for your feedback.
Could you please provide additional details
1) Mac or Windows ?
2) If Windows: what graphics mode is used (DX9/DX11/OpenGL)
3) What is set in Preferences - GPU Processing - Process RAW data on GPU
Also, if Process RAW Data on GPU is set to anything but 'None': your graphics hardware/driver version.

If you can create crash dump with this procedure: https://www.fastrawviewer.com/usermanual14/sending-crash-data
it also will help a lot.