FastRawViewer 1.4.7: релиз

Данный текст почти полностью повторяет описание пре-релиза, если вам кажется, что вы все это уже читали - так и есть :)

Все более старые анонсы спрятаны (не удалены, все комментарии на месте) дабы не захламлять.

Полное описание всех нововведений версии 1.4.7

Работа с JPEG

Код работы с JPEG был переработан, теперь момент декодирования JPEG регулируется настройками в Preferences - RAW+JPEG - JPEGs decode priority (картинка справа, кликабельно), отдельно для каждого типа JPEG-файлов:

  • None - не декодировать вовсе, это "представление" будет недоступным
  • On Demand - декодировать в момент переключения с RAW на JPEG
  • On file load - декодировать в момент загрузки файла (этот вариант был во всех предыдущих версиях)
  • On prefetch - декодировать при префетче файла (этот вариант доступен только для 64-битных версий)

В зависимости от типичного обращения с JPEG-файлами, разумным выбором является:

  • если вы всегда (/как правило) смотрите на JPEG при отборе - On prefetch
  • если вы почти никогда не смотрите на JPEG - On demand.

Для JPEG без RAW (Lone JPEGs) доступны, естественно, только два варианта: On file load (как раньше) и On prefetch,остальные не имеют смысла. Поскольку On prefetch возможен только в 64-битной версии, то в 32-битной версии вся регулировка для Lone JPEGs отсутствует.

Вариант "On prefetch" потребляет много памяти: (например) 20-Mpix JPEG занимает 3-4 мегабайта в исходном виде и 80 мегабайт в распакованом (в RGBA) т.е. кэш на 20 файлов будет занимать не 60-80Mb, а 1.6Gb.

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

  • Decode and show external JPEGs (выключенная соответствует Extenal JPEGs: None)
  • Ignore internal JPEGs (включенная соответствует Embedded JPEGs: None

Импорт старых настроек:

  • Decode and show external/Ignore internal - импортируются как написано выше (транслируются в None).
  • Default image to Display:
    • External JPEG -> приводит к JPEGs decode options - External JPEG: On prefetch (если установлено >14Gb RAM)/On file load (<14Gb)
    • Internal JPEG -> приводит к JPEGs decode options - Embedded JPEG: On prefetch (если установлено >14Gb RAM)/On file load (<14Gb)
    • Если установлено > 14 GB памяти, то Lone JPEGs будет выставлена в On Prefetch;

Обработка RAW-данных на видеокарте (GPU)

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

В этом режиме:

  • при первом показе файла в видеокарту грузятся RAW-данные в представлении floating point.
  • Пересчет из RAW-данных (первый раз, или при смене параметров: ББ, экспокоррекция, контраст) в RGB-представление производится на видеокарте.
  • для стандартного RGBG-байера, дебайеризация тоже делается на видеокарте (и качество демозаики чуть лучше, чем у стандартной демозаики FRV).

На более-менее современной видеокарте (и CPU Intel Ivy Bridge и новее), зтот режим должен быть не медленнее старого при первом показе файла и значительно (на порядок и более) быстрее при изменении параметров рендеринга баланса белого, контраста, экспокоррекции). На хорошей видеокарте - значительно быстрее становится и первое открытие файла.

Новые настройки, все в разделе Preferences - GPU Processing (картинка справа):

  • GPU Memory Usage (эта настройка заменила старую Store all renderings in GPU memory)
    • Minimal - в GPU хранится только текущее изображение; неиспользуемые графические ресурсы сразу освобождаются. Это очень медленный режим, использующий минимальный объем видеопамяти.
    • Minimal+ - Используется один набор графических ресурсов, при переходе к изображению меньшего размера видеопамять не освобождается.
    • Optimal - Используется два набора графических ресурсов: текущее изображение и "следующее", в процессе обновления видеоданных на экране не может быть "мусора" (частей предыдущей картинки).
    • Maximal - Используется до четырех наборов ресурсов (RAW, iJPEG, eJPEG, +обновляемый в данный момент), второе переключение RAW/JPEG должно быть мгновенным.

В разделе  GPU Compatibility settings:

  • Process RAW data on GPU:
    • None - выключает режим
    • Bayer RAW only - обрабатывать только байеровские RAW (получая улучшенную демозаику)
    • All RAW files - обрабатывать все RAW (байеровские, черно-белые, X-Trans, полноцветные).
    Настройка может быть включена только если GPU Memory Usage: Optimal или Maximal.
    Режим "не байеровских" файлов включается отдельно, поскольку небайеровские (втч. полноцветные) файлы (панорамы, HDR-снимки) могут быть очень большими и, соответственно, требуют много видеопамяти. Соответственно, для этих файлов RAW-on-GPU режим может оказаться медленнее старого.
    Умолчание (не наследуется от тестовых версий 1.4.7!):
    • Bayer RAW only - на процессорах с поддержкой 16 bit Floating Point, видеорежимах DirectX11/OpenGL и хороших видеокартах
    • None - во всех других случаях. 
  • Parallel GPU data upload (доступна только для графического движка OpenGL и только для 64-битных версий FRV):
    • None - выключено
    • RAW GPU Processing - включено для режима "обработки RAW на GPU"
    • Always - включено для всех режимов
    В зависимости от видеокарты и драйверов, режим параллельной загрузки может быть как быстрее, так и медленнее, экспериментируйте, если вам кажется что "все слишком медленно".
  • Use faster (but lower quality) RGB bayer demosaic - в GPU-режиме будет использоваться менее  качественная, но более быстрая демозаика (такая же как при обработке на CPU).

Скрытые настройки (скрипты)

  • UseOEUEOnGPU/NoOEUEOnGPU - использовать/не использовать генерацию карт передержки/недодержки на видеокарте  (в принципе, нет причин не использовать, но скрытая настройка осталась)
  • Use16BitFloatingPoint/No16BitFloatingPoint - загружать в GPU и использовать 16-битные данные вместо 32-битных. Причин не использовать не видно, но скрытая настройка есть.

Ускорение интерфейса

  • Настройка GPU Processing - GPU Compatibility - Force window refresh by slight resize заменена на новую (в том же блоке настроек) Refresh window after image changed c значениями:
    • None - никаких искусственных мер по обновлению окна программы не делается
    • Normal (умолчание) - "стандартные меры" - те же, что были в FRV 1.4.6
    • Slight resize - аналог старой '... by slight resize'
    Настройка None - самая быстрая, но ее работоспособность не гарантирована.
  • Preferences - Dim Histogram/Stats/EXIF panels while changing files  Если включена - то перечисленные панели будут уменьшать яркость на время смены файлов, это требует дополнительных 6-10 миллисекунд

Режим выделения (отметки) файлов

В FRV используется собственный режим отметки файлов, отличающийся от стандартного,
  использованного в большинстве программ:

  • случайный клик в файл в Grid/Filmstrip не сбивает выделение
  • текущий открытый файл не обязан считаться частью отмеченного набора (настраивается)

Для тех пользователей, которым данный режим непривычен или неудобен мы сделали его отключаемым:

Preferences - Grid/Filmstrip - Advanced Selection mode - при снятии отметки с этой настройки режим выделения будет "стандартным", таким как в Windows Explorer/Finder.

Прочие изменения

  • Preferences - Interface - Active (current) file border: позволяет установить более контрастную или цветную рамку у текущего файла в Grid/Filmstrip.
  • При детектировании насильно включенной Anisotropic Texture Filtering/Texture Anti-Aliasing, помимо Color Management отключаются RAW GPU Processing и Screen Sharpening
  • Переупорядочены кнопки в редакторе горячих клавиш
    • Стандартный размер окна чуть большеshortcuts
    • Секция File Copy/Move переименована в File Copy/Move/Reject
    • И в эту секцию переведено действие Move file to _Rejected: теперь его легче найти
  • (Windows only): Новая скрытая настройка WindowsCheckRemoteSession  и соответствующие ей скрипты установки NoWindowsCheckForRemoteSession.reg WindowsCheckForRemoteSession.reg.  При включении настройки, FastRawViewer проверяет "а не в терминальной ли мы сессии", если да,то текущий видеорежим ставится в DirectX9 (без смены установленного в Preferences).  Если этот режим отличается от стандартного, то будет скомпилирован второй набор бинарных шейдеров  (и при следующих запусках - запуск будет быстрее).
  • Переделана настройка Image Display - Use Monochrome mode for Bayer images: добавлена опция Detect, которая будет обнаруживать такие файлы автоматически.
  • Улучшена обработка Sleep/Awake (в первую очередь на Mac)
  • Возможность записи debug log в файлы
  • В настройки пишется признак успешного завершения, а если его там нет, то не показывается splash screen.
  • Menu - File - Clear _Rejected subfolder:
    • добавлена кнопка Show in Explorer/Reveal in Finder, позволяющая посмотреть на _Rejected из файлового менеджера
    • Настройка Preferences - Copy/Move/Reject - Show detailed _Rejected folder stats before clearing the folder:  Если включена, то показывается детальная раскладка по удаляемым файлам (NN RAW, MM RAW+XMP и т.п.).
  • Изображения в плавающей точке (DNG)
    • поддержаны нормализованные (т.е. с диапазоном данных 0..1) изображения.
    • поддержаны неcжатые floating-point изображения
  • Все RAW-форматы:  По причине реорганизации внутренних данных и изменения внутренних алгоритмов (с целью оптимизации), возможны незначительные расхождения в  результатх расчета автобаланса белого и авто-ETTR.
    Особенно это касается файлов Fuji SuperCCD, для которых изменения особенно велики.

Исправлены ошибки и недоделки

  • Настройка Pause thumbnail decoding while RAW being processed не восстанавливалась по кнопке Defaults.
  • Исправлена ошибка: в сценарии ручная установка ББ - OK - ручная установка ББ - Cancel,    по Cancel восстанавливалось значение ББ запомненное перед первым запуском диалога ручной установки.
  • для пары RAW+JPEG, в некоторых ситуациях могло теряться eJPEG-представление (но не сам файл, copy/move работали верно).
  • Prefetch для внешнего JPEG срабатывал не во всех случаях
  • при выключенной галочке Menu - Adjust - Exposure Correction и включенной настройке Use Adobe hidden exposure первый показываемый файл показывался без Adobe hidden exposure.
  • Настройка Grid/Filmstrip - Pause thumbnail decoding while raw being processed теперь влияет и на обработку стартового файла.
  • в процессе выхода из программы  - отключается очистка кэшей (эта очистка в процессе выхода могла привести к падению)
  • исправлена ошибка в оптимизации вывода (отрисовке только видимой части) для камер Fuji S5Pro и подобных.
  • исправлена ошибка: при Deselect All или при смене рабочего каталога - не обновлялся счетчик файлов/счетчик отмеченных файлов в верхней строчке Grid View.
  • Восстановление параметров интерфейса после выхода из диалога настроек по Escape/Cancel делается только если параметры интерфейса измениялись.
  • Исправлена ошибка: при изменении/восстановлении параметров интерфейса в режимах FullScreen или Maximized window, максимизированная геометрия окна запоминалась как нормальная.
  • При установке нестандартной ширины скроллбара - он заезжал на Filmstrip.
  • установленные пользователем (вручную в registry) размеры скроллбаров - не сбрасываются по Preferences - Defaults.
  • 4-цветные не-RGB (CMYG) изображения:
    • исправлена ошибка в чтении сохраненного баланса белого.
    • исправлена ошибка: неверно показывалась гистограмма 4-го канала.

Поддержка новых камер

  • Pentax K1-II
  • Sony  RX100-VI
  • Fuji X-T100

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

Брать на официальном сайте

 

Comments

Скромные вы. С таким списком это 1.5 если не 2.0

Мы бы выпустили это как 1.5, но на 1.5 обещана поддержка TIFF (PNG, PSD-preview) и еще кой чего, а мы хозяева своему слову.

Так то да, переработка внутрей это конечно 1.5

А вот вопрос от ламера. Слышал, что Эппл собирается похерить OpenGL и оставить только Metal. Вас это аффектит?

Пока только deprecated. То есть года 2-3 до "похерить" всяко есть.

Хочется надеяться, что Qt в этом месте что-то сделает, хоть Metal backend, хоть Vulcan (есть реализации Vulcan поверх Metal), у нас GPU-часть не настолько большая, чтобы ее нельзя было легко на любой другой GPU backend перенести за вменяемое время.