Texture Server
In ProgressOff-main-thread texture loading for images and video
Texture Server
Load textures fully off-main thread to upload images and video data to GPU memory without blocking. Background video playback is a core feature enabled by this architecture.
The Problem
Traditional texture loading blocks the main thread:
- Read file from disk
- Decode image/video
- Upload to GPU
- Block until complete
This causes stuttering during texture-heavy operations.
The Solution
Vulkan’s explicit memory model makes this architecture possible. Unlike OpenGL, Vulkan allows safe texture uploads from background threads without blocking the main rendering context. The Texture Server handles everything off-main-thread, and plugins receive a texture ID immediately to continue rendering while the texture loads in the background.
Key Features
Off-Main-Thread Processing
- No main thread blocking
- Smooth frame rates during loading
- Priority-based scheduling
In Progress
Video Support
Video decoding is limited to formats supported by Vulkan Video Decode on the current hardware. No FFmpeg fallback - pure hardware decode only.
- Decode video frames in background
- Stream to GPU textures
- Perfect for video wallpapers, previews
Use Cases
- Desktop backgrounds
- Image galleries
- Game assets
- UI textures
Related Features
- DRM Planes - Hardware overlay support
- Shader Service - Texture processing