ViewSkater

ViewSkater is a fast, cross-platform image viewer built in Rust with Iced, using GPU acceleration powered by wgpu. It is designed to explore and compare large collections of images.


ViewSkater is open-source software, available for Windows, macOS, and Linux. A paid version may be offered on app stores for convenience and to support development. Please note that it is still under active development and may contain bugs.


Recorded on macOS (MacBook Pro with M1 chip) at 60 FPS.

Key Features

GPU-Accelerated

Renders images using GPU acceleration with wgpu for smooth performance.

Dynamic Caching

Images are dynamically cached in CPU or GPU memory based on the current position in directory.

Navigation

Supports continuous rendering via keyboard shortcuts and a responsive slider UI.

Dual Pane View

Compare images side by side with an adjustable dual-pane interface.

Format Support

Supports JPG, PNG, and WebP images up to 8K resolution (8192×8192 px).

Cross-Platform

Runs on Windows, macOS, and Linux.

4K Image Demo

Tested the performance with 4K images (3840 × 2160) on Ubuntu 22.04 with a 7900XTX GPU.

Usage

Drag and drop an image or a directory of images onto a pane, and navigate through the images using the A / D keys or the slider UI. Use the mouse wheel to zoom in/out of an image.

In dual-pane mode (Ctrl + 2), the slider syncs images in both panes by default. You can switch to per-pane sliders by selecting "Controls → Controls → Toggle Slider" or pressing the Space bar.

Keyboard Shortcuts

ShortcutFunction
Arrow keys (Left / Right)Show previous / next image
Shift + arrow keysRender images continuously ("skate" mode)
TabShow / hide the slider and footer UI
SpaceToggle between single slider and dual slider
1 and 2 keysSelect Pane 1 or Pane 2
Ctrl + 1 or 2Toggle between single pane and dual pane mode
Ctrl + WClose all panes
Ctrl + QExit

Contribute to ViewSkater

ViewSkater is open source and welcomes community contributions. Feel free to post bug reports, feature requests, or contribute code directly.