# ModernView Help

Main function | Left/Right mouse button | Other buttons/wheel | Keyboard
--- | --- | --- | ---
Function variation | + keyboard modifier | + keyboard modifier | & mouse movement
Zoom or/and Pan |  |  |
Smooth zoom/2D-Scrollbar (switch) | Left click & move |  |
Smooth zoom/Freehand (switch) | Left click & move + Shift |  |
Instant zoom & pan (spring-loaded) | Left click & move + Ctrl |  | X, Space & move
Zoom |  |  |
Zoom toggle/cycle | Left click |  | . (Period)
Zoom fit in window |  |  | B (Best fit), * (Star)
Zoom fit to width or height |  | Middle click + Ctrl | V (Vertical/Horizontal fit)
Zoom to 100% (1:1) |  | Middle click or + Shift | A (Actual size), / (Slash)
Zoom step to Instant zoom |  |  | M (Magnifier)
Smooth zoom at cursor |  | Middle click & move | Z (Zoom), Y & move
Smooth zoom at cursor (fine) |  | Middle click & move + Shift |
Selection zoom | Right click & move or + Ctrl |  |
Zoom step in | Right click + Ctrl | Wheel up + Ctrl | + (Plus), Page down
Zoom step out | Right click + Shift | Wheel down + Ctrl | - (Minus), Page up
Pan |  |  |
Enter/Exit Panorama surfing | Right click |  | P (Panorama), Escape
Pan surfing | Right click & move + Shift |  | Q & move
Scrolling |  |  | (not assigned by default)
Rotate |  |  |
Rotate counterclockwise |  |  | L (Rotate Left)
Rotate clockwise |  |  | R (Rotate Right)
Image navigation |  |  |
Start/Stop slideshow |  |  | S (Slideshow), Escape
Start/Stop playing GIFs |  |  | G (GIFs)
Toggle half/full GIF speed |  |  | F10
Next file |  | Wheel down, Side button 2 | Cursor down, N (Next)
Previous file |  | Wheel up | Cursor up, Backspace
Previous/Next image |  | Wheel up/down + Shift | Cursor left/right
First/Last file |  |  | (not assigned by default)
Next folder |  |  | D (Next Directory)
Previous folder |  |  | (not assigned by default)
First file/Next folder |  |  | Home/End
Dialog/Windows |  |  |
Open/load files |  | Side button 1 | O (Open), F3
Open/change configuration |  |  | C (Config), F2
Show file/metadata properties | Left click in metadata panel |  | I (Info), F4
Show help (show this file) |  |  | H (Help), F1
Miscellaneous |  |  |
Enter/Leave fullscreen | Left double click |  | F, F11, Enter, Escape
Show/Hide thumbnail panel |  |  | T (Thumbnail), F12, Tab
Toggle advanced Lock zoom |  |  | K (LocK), F5
Remove file |  |  | Delete

Remarks
All functions are available if the cursor is within the image panel. In the thumbnail panel the mouse wheel scrolls through the thumbnails, left click opens image and only Image navigation, Dialog/Windows and Miscellaneous functions are available.
For Panorama surfing or keyboard triggered commands the mouse cursor must stay within the image panel. For mouse triggered commands auto scrolling/zooming at the (virtual) screen edge works regardless whether the cursor leaves the image panel.
In Slideshow mode only Next file and Enter fullscreen won't stop the slideshow.

## Features

### Image formats (RAW codecs)

ModernView displays all common Windows image formats, so multi-page (TIF), animated (GIF) and transparent image formats are supported. RAW and other formats (e.g. DNG) are supported via installable Windows Imaging Component (WIC) codecs. When installed WIC image formats behave like any other built-in image format (including thumbnail preview in explorer).

Several sites are offering WIC codecs. Microsoft's Camera Codec Pack is updated regularly (already included in Windows 8). Camera manufactures or Adobe might offer WIC codecs on their homepage. FastPictureViewer has also published an old WIC codec pack for free (last version 1.7) and sells an up-to-date version for $15 currently.

### Loading files/directories

Files or directories are loaded via the Open file dialog/window. If only one file is selected then all files within this directory will be loaded. Although the dialog itself will let you select only files, directories can be loaded via Drag 'n' Drop. To reload files from scratch select more than one file or drag 'n' drop a directory.

Note that ModernView accepts links/shortcuts to directories on the top level only. Links/shortcuts within directories or links/shortcuts to files are ignored.

### Panorama surfing / Auto panning (speed)

Panorama surfing is the only interactive function that's implemented as a toggle in order to comfortably pan across the image. When active any command exits Panorama surfing mode but only Next/Previous file will still be executed. (The other interactive functions, e.g. Pan surfing, are only active while a mouse button or key is pressed.) If Panorama surfing is activated manually and the current zoom value is equal or less than Fit-in-window then Fit-to-window is executed instead.

Auto panning is activated only if the image is at the edge of the Fit-to-window axis. This way the panning direction is unambiguous. Note that the Fit-to-window axis is used only as means to determine the panning direction. The direction won't change if the current zoom value is higher than Fit-in-window or Fit-to-window. But if Auto panning doesn't seem to work although the image is at a window edge then it's the wrong edge/axis.

Auto panning speed is applied to Panorama surfing, Panorama slideshow, Keyboard scrolling and Scrollbar arrow scrolling.

### Apply current viewing state to next image a.k.a. Lock zoom

This load option is useful to inspect the same region for a series of similar images. Lock zoom is actually a misnomer since ModernView applies the current zoom, position and rotation to the next image. In three cases the zoom value won't even stay locked: If the current image is in Fit-in-window or Fit-to-window state then this state is kept for the next image. For identical images in different resolutions (identified by same aspect ratio but different dimension) ModernView locks the current viewing region and changes the zoom appropriately. This behavior can be disabled by checking Enable strict Lock zoom.

### Load Standard/Panorama mode

The Standard mode selections are straight forward except for the last entry At Instant zoom value (base is Fit-in-window or 100% if relative). If Instant zoom is set to relative then a reference base needs to be defined. Usually this will be Fit-in-window but in some cases (see section below) 100% is picked.

Panorama mode is commonly determined by the aspect ratio of the image and possibly by the dimension. If the thumbnail panel covers a lot of screen space or for a sophisticated multi-display configuration — e.g. one widescreen display in landscape mode, another one pivot rotated into portrait mode — the off-screen (or more precise: off-image-panel) percentage condition might be more suitable since it adapts to the available screen area. This implies that the same image might open differently on different displays.

### Left mouse click behavior

Except for the first option the Left mouse click toggle depends on the Load mode settings. For instance, Left click is set to Toggle between Load image setting / 100% zoom and Standard load mode is set to Fit-in-window. In this case left click toggles between Fit-in-window and 100% zoom. A newly loaded images is displayed first Fit-in-window and for ambiguous cases (current zoom doesn't match the two toggle zoom values) left click "toggles" first to Fit-in-window.

Some load mode / left click combinations are a little confusing or seemingly pointless. These cases can be used to reverse the toggle order. For instance, we modify our example and set the Standard load mode to At 100% zoom. In this case left click "toggles" first to 100% zoom and then to Fit-in-window. If Standard load mode would be set to At Instant zoom value (base is Fit-in-window or 100% if relative) and Instant zoom is set to relative with 400% zoom then a left click would "toggle" first to 400% zoom and then to 100% zoom.

Keep in mind that the left click behavior adapts to Load mode setting, image file, image panel size or rotation changes.

## FAQ and Troubleshooting

### Why is the displayed thumbnail different than the displayed image?

Image files often contain downsized versions (thumbnail/preview image) of the original image. In practice sometimes these versions aren't updated properly when the original image has been changed. By enabling Never use embedded thumbnails in →Config→Sort→Sort order / Reload thumbnails ModernView will always use the original image (instead of the embedded downsized versions) and downsizes it on-the-fly.

### Why is the thumbnail generation slow sometimes?

For various reasons ModernView doesn't store the displayed thumbnails on disk for faster retrieval but will use embedded thumbnails if they are available (see section above). To speed up the thumbnail display ModernView uses these embedded images by default, but only if they are not smaller than the intended thumbnail display size to avoid a quality loss. Keeping the intended thumbnail display size rather small enables ModernView to take advantage of embedded thumbnails. If ModernView doesn't use them then the performance depends on the CPU power (especially the number of cores).

### Why does it take a long time sometimes to load/display an image?

ModernView silently decodes adjacent image files in advance and stores them in main memory (limited preloading). If images are not viewed in order then the CPU decoding time adds to the overall loading time. (For RAW images the WIC codec determines the decoding speed and image quality.) Subsequently, ModernView asks the OpenGL driver to transfer the image data from main to video memory of the graphics adapter (GPU) where the data should be pre filtered (compute/store mipmaps). For various reasons this step isn't done in advance, so if the image is already in main memory then the processing power of the GPU (bandwidth, filtering) determines the loading time.

Note that large images require plenty of video memory and that the amount of video memory that can be used for image data effectively is lower than the physically available video memory. Thus, if the GPU is short on video memory — although ModernView stores only one (mipmapped) image in video memory at any time — then additional delays of several seconds are possible.

Be also aware that the graphics driver manages/controls the video memory and the GPU in general. Memory management might not be optimal and the aforementioned steps might not happen in the specified order, as long as the image is displayed properly. For instance, the driver probably first copies the image to its own managed main memory and the image might be filtered actually on the CPU.

### Why is the frame rate not perfectly smooth occasionally/constantly?

Since this is a complex topic I'm going to describe my experience on my system: Intel i5 CPU (4 cores), 2 NVIDIA GT260 (896 MB video memory) with latest drivers, Windows 7 x64, 4 GB RAM. In general, stutters of several seconds are possible if the GPU runs out of video memory (see section above). ModernView also syncs the frame rate to the display refresh rate. Animations/Interpolation on a 120 Hz display will be considerable smoother than on a standard 60 Hz display.

I get the smoothest frame rate if ModernView is displayed on the primary display device. In order to display ModernView on a secondary device without constant stutter I had to disable Aero glass (translucent glass in Control Panel→System→Extended system settings→Visual effects; gone and dusted in Windows 8). This is also necessary on the primary device if the task bar is not located at the bottom or top of the screen.

I often encounter a rather annoying behavior when zooming or panning huge images on the secondary device. At first, a newly loaded image stutters constantly, then becomes smooth all of the sudden, only to return to stutter mode again sometimes later on. There also seems to be no reliable remedy to get rid of occasional very short stutters, especially on the secondary device or when displaying huge images. The most obvious cause are other active programs consuming CPU time. On the less obvious causes I could only speculate.

Running ModernView in full screen or windowed/maximized mode makes no difference on my system (bar one exception). In general, the full screen mode should yield smoother frame rates. But animations are less smooth in full screen if an action (rotate, zoom) is triggered by pressing an icon since the 2D icon bar is overlaid onto the 3D region this time.

### Why is there no file associations configuration?

Because I'm lazy. Because other programs have most likely already taken the formats. Because ModernView comes without an installer that usually performs these tasks. Because you first want to know if ModernView is any good before messing with the registry. Because it takes you about a minute or so to do it once manually via Windows for the handful of actually used formats but would take me days to implement it properly. This time is better spent on user interface improvements or features you might actually appreciate every time you use ModernView.