Warning
๐ง WORK IN PROGRESS (WIP) โ Active Engine Development & Calibration
- Active Calibration: The 2D rendering pipeline, analytical SDF shaders (anti-aliasing, stroke coverage, corner radii), and color spaces are currently undergoing active calibration against Java2D references.
- FastGraphics Migration: High-level 2D drawing primitives, shape APIs, and canvas abstractions will progressively migrate to FastGraphics as the unified drawing layer across backends, while FastVulkan serves as the dedicated native Vulkan hardware backend and swapchain runtime.
FastVulkan 0.1.0 [ALPHA-2026-08] โ High-Performance Native Vulkan 2D Rendering & Window Engine for Java
๐ Ultra-fast native Vulkan 2D batch rendering and Win32 zero-latency window engine for Java, designed to power FastUI. Built for maximum framerates, zero JVM Garbage Collection overhead, and seamless live window resizing.
FastVulkan provides a low-overhead GPU-accelerated 2D pipeline (instanced shapes, quad batching, texture rendering, and smooth zoom/transforms) with native C++ window management.
import fastvulkan.FastVulkanWindow;
import fastdwm.FastDWM;
import fasttheme.FastTheme;
public class Demo {
public static void main(String[] args) {
try (FastVulkanWindow window = new FastVulkanWindow("FastVulkan Demo", 1024, 600, 0.88f, 0.12f, 0.12f, 1.0f)) {
long hwnd = window.getHWND();
if (hwnd != 0) {
FastTheme.setTitleBarDarkMode(hwnd, true);
FastTheme.setTitleBarColor(hwnd, 20, 20, 20);
FastTheme.setCornerStyle(hwnd, 2);
}
while (window.isOpen() && window.pollEvents()) {
window.present();
}
}
}
}- Why FastVulkan?
- Key Features
- Architecture & Progressive Roadmap
- Real-World Use Cases
- Installation
- Documentation
- Platform Support
- License
- Related Projects
Standard Java GUI toolkits suffer from thread synchronization overhead, laggy window resizing, and CPU rasterization bottlenecks. FastVulkan solves this with:
- FastGPU Core Foundation: Leverages FastGPU for low-overhead Vulkan device initialization, off-heap memory management, and swapchain coordination.
- Native Win32 Message Loop: Latency-free live window resize (
WM_SIZE/WM_SIZING) without Java thread blocking. - Instanced Quad Batching: Thousands of shapes rendered in a single Vulkan command buffer dispatch.
- Zero-GC Architecture: Off-heap vertex generation and direct native buffer exchanges.
- GPU Texture & Zoom Pipeline: High-speed image uploads and smooth bilinear sampling.
- ๐ Vulkan 1.3 2D Render Engine: Built on top of FastGPU with ultra-low overhead SPIR-V shaders for real-time shapes and texture mapping.
- ๐ช Native Win32 Windowing: Native
CreateWindowExWloop with crisp DPI awareness and direct frame presents. - โก Instanced Batching: Batch thousands of textured quads, rectangles, and rounded shapes in 1 draw call.
- ๐ Smooth Zoom & Viewport Transform: High-performance pan/zoom matrix math executed entirely on GPU.
- ๐ฆ FastJava Ecosystem Ready: Interoperates seamlessly with FastWindow, FastGPU, FastImage, FastUI, and FastCore.
- โ Repository Scaffolding & CI: Standalone native build system and project layout.
- ๐ Native Window & SwapChain: Win32 window creation and flicker-free resize handling.
- ๐ Texture & Image Pipeline: Direct memory bitmap uploads, scaling, and viewport zooming.
- ๐ 2D Shape Batching: Rectangles, rounded corners, circles, anti-aliased lines.
- ๐ FastGraphics / FastUI Integration: Exporting clean abstraction layers for downstream FastJava modules.
- ๐ฅ๏ธ High-FPS UI Frameworks (FastUI): Power complex desktop dashboards, rich vector controls, and live animations with zero GC pauses.
- ๐ผ๏ธ Real-Time Image & Video Viewports: Seamlessly render, pan, and smoothly zoom 4K/8K bitmaps streamed from FastImage and FastScreen.
- ๐ฎ 2D Game Engines & Particle Canvas: Render tens of thousands of batch-instanced sprites, lines, and HUD shapes at 1000+ FPS.
- ๐ Scientific & Financial Charting: Real-time high-frequency candlestick, waveform, and scatter data visualization with instant window resizing.
Add the JitPack repository and the dependency stack to your pom.xml:
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependencies>
<!-- FastVulkan 2D Engine & Windowing -->
<dependency>
<groupId>com.github.andrestubbe</groupId>
<artifactId>FastVulkan</artifactId>
<version>0.1.0</version>
</dependency>
<!-- FastWindow Native Win32 Window Engine -->
<dependency>
<groupId>com.github.andrestubbe</groupId>
<artifactId>FastWindow</artifactId>
<version>0.1.1</version>
</dependency>
<!-- FastGPU Native Acceleration Engine -->
<dependency>
<groupId>com.github.andrestubbe</groupId>
<artifactId>fastgpu</artifactId>
<version>0.1.1</version>
</dependency>
<!-- FastDWM Native VSync & Precision Timing -->
<dependency>
<groupId>com.github.andrestubbe</groupId>
<artifactId>FastDWM</artifactId>
<version>0.1.0</version>
</dependency>
<!-- FastExecution Precision Scheduling Engine -->
<dependency>
<groupId>com.github.andrestubbe</groupId>
<artifactId>FastExecution</artifactId>
<version>0.1.0</version>
</dependency>
<!-- FastTheme Native Styling & Dynamic Theming -->
<dependency>
<groupId>com.github.andrestubbe</groupId>
<artifactId>FastTheme</artifactId>
<version>0.1.4</version>
</dependency>
<!-- FastCore Unified JNI Loader -->
<dependency>
<groupId>com.github.andrestubbe</groupId>
<artifactId>FastCore</artifactId>
<version>0.1.0</version>
</dependency>
</dependencies>repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'com.github.andrestubbe:FastVulkan:0.1.0'
implementation 'com.github.andrestubbe:FastWindow:0.1.1'
implementation 'com.github.andrestubbe:fastgpu:0.1.1'
implementation 'com.github.andrestubbe:FastDWM:0.1.0'
implementation 'com.github.andrestubbe:FastExecution:0.1.0'
implementation 'com.github.andrestubbe:FastTheme:0.1.4'
implementation 'com.github.andrestubbe:FastCore:0.1.0'
}Download the required JARs directly to add them to your classpath:
- ๐ฆ FastVulkan-0.1.0.jar (The Core Library)
- ๐ช fastwindow-0.1.1.jar (Native Window Engine)
- โก fastgpu-0.1.1.jar (GPU Compute & Memory Foundation)
- โฑ๏ธ fastdwm-0.1.0.jar (Hardware VSync & Timing)
- โ๏ธ fastexecution-0.1.0.jar (Precision Scheduling)
- ๐จ FastTheme-0.1.4.jar (Native Window Styling)
- ๐ fastcore-0.1.0.jar (Mandatory Native Loader)
Important
All JARs must be included in your classpath for the native Vulkan JNI bindings to function correctly.
- CHANGELOG.md: Release notes and version history.
- REFERENCE.md: API contract and methods.
- PHILOSOPHY.md: Design principles and Zero-GC architecture.
- COMPILE.md: Native C++ compilation guide.
- ROADMAP.md: Detailed feature roadmap.
| Platform | Status | Notes |
|---|---|---|
| Windows 10/11 (x64) | โ Supported | Native Win32 + Vulkan 1.3 |
| Linux | ๐ Planned | X11 / Wayland + Vulkan |
| macOS | ๐ Planned | MoltenVK |
MIT License โ Free for commercial and personal use. See LICENSE for details.
- FastWindow โ Ultra-Fast Win32 Native Window Engine
- FastGPU โ Native GPU compute engine
- FastGraphics โ Hardware-accelerated DirectX graphics
- FastImage โ Native SIMD image processing engine
- FastCore โ Native JNI loader
Part of the FastJava Ecosystem โ Making the JVM faster. Small package. Maximum speed. Zero bloat. โก
