FastRawViewer 1.4.7 Release

Introduction

In the new version of FastRawViewer, we’ve concentrated on speeding things up.

If you’ve already used the Technology Preview I/II, then the main difference is that RAW GPU Processing doesn’t need to be turned on additionally through a hotkey; it’s turned on as soon as that’s set in the Preferences.

The settings allow one to turn on GPU processing for all RAW files or for Bayer RAW files only.

You can download the new version immediately through the links below, but we recommend new users read the detailed list of changes of the new version.

FastRawViewer. 1.4.7.
  • In a few lines, the changes are as follows:
  • With the new strategy of processing JPEG representations (both embedded and Lone), opening files has become times faster.
  • Processing RAW data on the GPU: rendering is changed instantly with the change of the rendering parameters (WB, Exposure, Contrast); higher-quality demosaicing is applied to Bayer images (that is, for the vast majority of cameras).
  • The interface rendering speed has also increased somewhat.
  • If you prefer the Windows Explorer / Finder-like behavior for selecting files, you can switch to it.
  • Several bugs have been fixed, many minor improvements have been added.
  • New cameras' support added.

Download links

Download from download site section.

JPEG Handling

The code for JPEG processing has been revised; the way JPEG decoding works is now controlled by a few settings.

  • In Preferences - RAW+JPEG - JPEGs decode priority can be set separately for each type of JPEG file (Lone, Embedded, and External JPEGs):
  • None - do not decode at all, so this "representation" will be inaccessible;
  • On demand - the decoding will happen in the moment between switching from RAW to JPEG (when pressing J to switch, there will be a momentary delay, equal to about half of the time between loading the next file in previous versions. When pressing J a second time for the same file, there will be no such delay);
  • On file open - the decoding will happen at the moment of file load (this is how it was in all of the previous versions);
  • On prefetch - the decoding will happen during the file prefetch (this option is available only on 64-bit versions).
FastRawViewer 1.4.7 JPEG Decode Priorities
  • Depending on your habits, the following settings seem reasonable:
  • If you always look at JPEGs, use On prefetch;
  • If you rarely or almost never look at JPEG representations, use On demand.

For Lone JPEGs, not paired with a RAW, there are, naturally, only two options: On file open (as before) and On prefetch, with the others not being of any use. Because On prefetch is only available on the 64-bit version, all controls for processing Lone JPEGs are unavailable for 32-bit versions.

The On prefetch version uses a lot of memory: 20 Mpix JPEG takes up 3-4 MB before unpacking, and 80 MB unpacked (as RGBA); that means a 20-file cache of such JPEGs will take up 1.6 GB instead of 60 to 80 MB.

  • The above new settings have replaced these older ones:
  • Decode and show external JPEGs (when turned off this corresponds to External JPEGs: None).
  • Ignore internal JPEGs (when turned on corresponds to Embedded JPEGs: None).
  • Importing old settings:
  • Decode and show external - imported as described above (becomes None)
  • Ignore internal - imported as described above (becomes None).
  • Default image to Display:
  • External JPEG -> leads to JPEGs decode options - External JPEG: On prefetch (if >14 GB RAM) / On file open (<14 GB);
  • Internal -> leads to JPEGs decode options - Embedded JPEG: On prefetch (if >14 GB RAM) / On file open (<14 GB);
  • If >14 GB of memory is present, then Lone JPEGs will be set to On Prefetch (the Defaults button sets it the same way - depending on the amount of RAM present in the system).

Processing RAW data on a video card (GPU)

The processing of RAW data on the GPU (white balance, exposure, contrast, demosaicing for the standard Bayer) has been implemented.

  • In this mode:
  • When first displaying the file, the RAW data is loaded onto the GPU in floating point presentation
  • Recalculation from RAW data (first time, or when changing parameters: white balance, exposure correction, contrast) to RGB-representation happens on the GPU
  • For a standard RGBG Bayer, debayerization also happens on the GPU (and the quality is a bit better than on a standard CPU)

On a fairly modern GPU, this mode ought to be no slower than the old mode when first displaying the file and significantly (by an order of magnitude and more) faster when changing the rendering parameters (white balance, contrast, exposure correction). On a fast GPU, the first time one opens a file also becomes much faster.

New settings, (all in the Preferences - GPU Processing section)

FastRawViewer 1.4.7 GPU Processing
  • GPU Memory Usage (this setting replaces the old Store all renderings in GPU memory):
  • Minimal - only the current image is stored in the GPU; the unused graphic resources are immediately freed up.
  • This is a very slow mode, using a minimal amount of video memory.
  • Minimal+ - uses one set of graphic resources, when moving to a smaller image, video memory is not freed up.
  • Optimal - two sets of graphics resources are used: the current image and the "next" one, in the process of refreshing video data on the screen there can't be "garbage" (bits of prior images).
  • Maximal - up to four sets of resources are used (RAW, iJPEG, eJPEG, and currently refreshed), the second RAW/JPEG switch should be instantaneous.
  • Process RAW data on GPU (in the GPU Compatibility settings):
  • None - turns off the mode
  • Bayer RAW only - processes only Bayer RAW (and achieves better demosaicing)
  • All RAW files - processes all RAW (bayer, black and white, X-Trans, full-color)
  • This setting can be turned on only if GPU Memory Usage is set to Optimal or Maximal.
  • This mode is turned separately for "non-Bayer" files, because non-Bayer (including full-color) files (panorama, HDR shots) can be very large and as such require a great deal more video memory. As such, for these files RAW-on-GPU mode could end up being slower than the old mode.
  • Default (not inherited from 1.4.7 test version!):
  • Bayer RAW only - on processors with support for 16-bit Floating Point (Intel Ivy Bridge and newer);
  • None - for older processors.
  • Experimenting with different hardware and studying user logs, we determined that the combination of DirectX 9 video mode and Process RAW data on GPU setting results in a very low performance.
  • Additionally, only fast GPUs / video adapters (Intel Iris, Nvidia GTX, ATI/AMD R7/R9/RX/Vega HD 5700/6800/7800+) ensure that the speed-up happens always (that is, it happens also on the first open of a file).
  • However, DirectX 9 video mode is the most compatible one, mostly ensuring that older video adapters / GPUs and buggy drivers will still work.
  • Because of all the above reasons, the procedure for automatically setting the video mode / Process RAW data on GPU combination is rather complex:
    1. On the first launch, the video mode is set:
      • OpenGL – for multi-display setups;
      • DirectX 11 – if there is only one display, and the video adapter / GPU is a fast one;
      • DirectX 9 – for all other video adapters;
      • for fast video adapters / GPUs Process RAW data on GPU setting is On, and Off for all others.
    1. If you were running FastRawViewer 1.4.6 or an earlier version, your video adapter / GPU is a fast one, and your video mode was DirectX 9, the application will suggest to switch to OpenGL and enable Process RAW data on GPU.
    2. Process RAW data on GPU will be enabled for fast video adapters / GPUs.
    1. When setting modes manually,
      • Enabling DirectX 9 disables Process RAW Data on GPU;
      • Enabling Process RAW on GPU while DirectX 9 is enabled – causes a warning message.
  • Parallel GPU data upload (available only for OpenGL graphics engine and only for 64-bit versions of FRV):
  • None - turned off
  • RAW GPU processing - is used only for Process RAW data on GPU
  • Always - always turned on for all modes.
  • Depending on the GPU and the drivers being used, the parallel upload mode can be slower or faster - play around if it seems like "everything is too slow."
  • Use faster (but lower quality) RGB bayer demosaic - in GPU mode, a faster but lower-quality demosaicing will be used (the same as the one used on CPU).

Hidden settings (scripts)

  • UseOEUEOnGPU / NoOEUEOnGPU - using or not using the GPU to generate over/underexposure maps on the GPU (in theory, there should be no reason not to use this, but the hidden setting remains)
  • Use16BitFloatingPoint / No16BitFloatingPoint - load and use 16-bit data instead of 32-bit data onto the GPU. No real reasons not to use this, but the hidden setting is here.

Speeding up the Interface

  • The GPU Processing - GPU Compatibility - Force window refresh by slight resize setting has been changed to a new one (in the same chunk of settings) - Refresh window after image changed - with the options being:
  • None - no additional steps are taken to refresh the program window;
  • Normal (default) - default steps are taken, same as for FRV 1.4.6;
  • Slight resize - analogous to the old "...by slight resize".
  • The None setting is the fastest, but its workability isn't guaranteed.
  • Preferences - Dim Histogram/Stats/EXIF panels while changing files
  • If enabled (default), GUI dimming will add 6-10msec to file change time.

Selecting (marking) files mode

  • In FRV, a specific file-selection mode is used that differs from the standard that is used by most programs:
  • accidentally clicking on the file in Grid/Filmstrip doesn't disrupt the selection
  • the currently-open file doesn't need to be included as part of the selected group (tuneable)
  • For users for whom this mode is unfamiliar, we made it so that it can be turned off:
  • Preferences - Grid/Filmstrip - Advanced Selection mode - when unchecking this setting, the selection mode will become "standard," the same as for Windows Explorer/Finder.

Other changes

  • Interface - Active (current) file border: allows to set better visible current file border.
  • When forced Anisotropic Texture Filtering / Texture Anti-Aliasing is detected, aside from Color Mangement, RAW GPU Processing and Screen Sharpening are also turned off.
  • Shortcuts editor rearranged:
  • slightly taller standard window size to fit all shortcuts
  • File Copy/Move section renamed to File Copy/Move/Reject
  • Move file to _Rejected is now in File Copy/Move/Reject section.
  • (Windows only): The new hidden setting, WindowsCheckRemoteSession, and the corresponding scripts for implementing it NoWindowsCheckForRemoteSession.reg and WindowsCheckForRemoteSession.reg
  • When this setting is turned on, FastRawViewer checks "am I in a remote terminal session?" If yes, then the current video mode is set to DirectX 9 (without changing what's set in the Preferences). If this mode differs from the default, then a second set of binary shaders will be compiled (and during subsequent launches, launch will also be faster).
  • The Image Display - Use Monochrome mode for Bayer images setting has been redone: a Detect option has been added, which will detect these files automatically.
  • The processing of Sleep/Awake has been improved (mainly, for OS X / MacOS)
  • Menu - File - Clear _Rejected subfolder:
  • The Show in Explorer / Reveal in Finder button has been added, allowing one to look at _Rejected using the file manager
  • Preferences - Copy/Move/Reject - Show detailed _Rejected folder stats before clearing the folder setting: If this is turned on, then the details of the deleted files is displayed (NN RAW, MM RAW+XMP, etc.).
  • Images in floating point (DNG):
  • normalized images (meaning with a data range 0...1) are supported;
  • uncompressed floating-point images are supported.
  • All RAW formats: due to the reorganization of internal data and changes in internal algorithms (with the goal of optimization), minute differences in the results of auto-white balance and auto-ETTR calculations are possible.
  • This especially concerns Fuji SuperCCD files, for which the changes are especially large.

Bugfixes and Finalizations

  • The Pause thumbnail decoding while RAW being processed setting was not restored upon pressing Defaults
  • Bugfix: in the case where one performs the following sequence of actions: manually set WB - OK - manually set WB - Cancel; upon pressing Cancel, the WB setting was restored to the WB setting that was active before the first setting of WB manually, that is before the whole sequence started.
  • For pairs of RAW+JPEG, in some instances the eJPEG representation could be discarded from the program memory (but not the eJPEG file itself of course - copy/move worked correctly).
  • Pre-fetch for external JPEGs did not work in all cases.
  • Files count/selected files count in Grid View panel was not updated on folder change or on Deselect All action.
  • When the Menu - Adjust - Exposure Correction checkbox was not checked and the Use Adobe hidden exposure setting was checked, the first file to be displayed would be shown without applying Adobe hidden exposure.
  • The Grid / Filmstrip - Pause thumbnail decoding while raw being processed setting now controls the processing of the file on which the application was started.
  • In the process of exiting the application, cache cleaning is turned off (performing such cleaning is unnecessary, and it could also lead to a crash during the exit)
  • 4-color non-RGB (CMYG) images:
  • an error in reading saved white balance has been fixed,
  • an error has been fixed where the histogram for the 4th channel was displayed incorrectly

Camera support added

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

Comments

What's about Canon M50?

Working on decoding CR3.

I'm also waiting on CR3 support. Had my camera for 3 months already and accumulated thousands of photos to collate....

Will you add the "Browse subfolders" functionality ? I miss it, this is the only thing that keeps me using alternative software.... :(

Sorry, not in 1.4.7 update: current changes set is already way too big for minor (3rd digit) version update.

--

Alex Tutubalin/FastRawViewer team

Have you performed any performance test with green / red team's video cards which shall give better performance of the same tier? Some processes of Photoshop is known to take advantage of OpenGL hence Nvidia cards are preferred and the sweet spot is 1060 / 1070.
Do you have any recommendation for let say 1060 vs RX570?

Can't use your program anymore because it doesn't support CR3 files.  When?

Subscribe to this blog updates