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
Shortcut | Function |
---|---|
Arrow keys (Left / Right) | Show previous / next image |
Shift + arrow keys | Render images continuously ("skate" mode) |
Tab | Show / hide the slider and footer UI |
Space | Toggle between single slider and dual slider |
1 and 2 keys | Select Pane 1 or Pane 2 |
Ctrl + 1 or 2 | Toggle between single pane and dual pane mode |
Ctrl + W | Close all panes |
Ctrl + Q | Exit |
Contribute to ViewSkater
ViewSkater is open source and welcomes community contributions. Feel free to post bug reports, feature requests, or contribute code directly.