Description
VRAM Tweak
Save up to 2.5 GB VRAM. No shader edits. No resource pack changes.
VRAM Tweak intercepts GPU texture creation at the engine level — capping oversized atlases, downscaling depth buffers, limiting animation frames, and dynamically adjusting render distance under memory pressure. Works alongside Sodium & Iris without touching their code.
✨ What It Does
| Feature | How It Works | Impact |
|---|---|---|
| Atlas Size Cap | Clamps GpuDevice.createTexture() W/H ≤ maxAtlasSize |
Saves ~240 MB per 16384→4096 atlas. 26 caps/session. |
| Depth Downscale | D32_FLOAT → D16_UNORM shadow maps | Cuts shadow map VRAM in half. 10×/session. |
| Format Downscale | RGBA16F → RGBA8 color buffers | ~50% VRAM on color targets. Requires heavy shader packs. |
| Shadow Map Cap | Limits shadow map resolution ≤ 4096 | Prevents extreme shadow allocation from mods. |
| FSR CAS Sharpening | AMD Contrast Adaptive Sharpening post-process | Zero VRAM cost, recovers visual detail. |
| VRAM Governor | Auto-lowers render distance when VRAM exceeds threshold | Prevents out-of-memory crashes. |
| Particle Limit | Global particle count safety net | Prevents particle spam from bloating VRAM. |
| Animation Limit | Caps animated texture frame count | Reduces memory for animated textures. |
| Budget Tracking | Per-frame VRAM polling + configurable alert threshold | Early warning before stuttering. |
| HUD Overlay | Real-time FPS/VRAM%/atlas stats/budget | Independent toggles for each metric. |
📊 Real Results
Hardware: AMD R5 5600 + 32GB DDR4 + RX 6650 XT 8GB
Software: MC 26.2 + Sodium 0.9.0 + Iris 1.11.1 + EXTREAL resource pack + Spring v2 shaders
Before vs After
| Before | After | |
|---|---|---|
| VRAM Peak | 7820 / 8192 MB (95.4%) | 4728 / 8192 MB (57.7%) |
| Stability | Frequent stuttering near limit | 0 budget warnings — smooth & playable |
Session Stats
| Metric | Count |
|---|---|
| Atlas caps | 26 (6 atlases from 16384px→4096px) |
| Depth downscales | 10 (D32→D16 shadow maps) |
| Budget warnings | 0 |
| VRAM saved | ~2.5 GB (95.4% → 57.7%) |
Resource Pack & Shader Compatibility
- EXTREAL resource pack (paid resource pack, 16384px atlases) — fully compatible, atlases capped to 4096px with minimal visual loss
- Spring v2 shaders (shaders) — fully compatible, depth downscales work with shadow maps
- Universal: works with ANY resource pack and shader that uses standard Minecraft texture loading
If you can see it in-game, this mod can optimize its VRAM usage.
📦 Requirements
| Dependency | Type | Version |
|---|---|---|
| Sodium | Hard | 0.9.0 |
| Iris | Soft | 1.11+ (shader compatibility) |
| Cloth Config | Soft | 26.2+ (GUI) |
| ModMenu | Soft | 20.0+ (config button) |
Platform: Windows, Linux | Java: 25+
⚙️ Quick Start
- Install Fabric for Minecraft 26.2
- Install Sodium
For 26.2 , If you install Iris, Sodium must be version 0.9.0, because Iris is not compatible with versions higher than 0.9.0. For 1.21.11 , Sodium must be version 0.8.13-beta-1, because Iris is not compatible with versions higher than 0.8.13-beta-1.If you don't use Iris, there may be no restrictions. - Install Cloth Config API
- Install Iris
this is optional - Drop
vram-tweak-x.x.x.jarintomods/ - Launch — Open Mod Menu → VRAM Tweak → Enable features
Everything defaults to OFF — you choose what to enable.
Restart the game after toggling features for full effect.
Recommended Config for 4-6 GB GPUs
{
"vram": { "enabled": true, "depthDownscale": true, "budgetTracking": true },
"texture": { "atlasSizeLimit": true, "maxAtlasSize": 4096 },
"governor": { "enabled": true, "minDistance": 6 },
"particle": { "enabled": true, "maxParticles": 2000 },
"cas": { "enabled": true, "sharpness": 0.8 }
}
🔧 Commands
/vramtweak stats — VRAM + FPS report in chat
/vramtweak dump — Full diagnostic to disk (for bug reports)
/vramtweak hud — Toggle HUD overlay
/vramtweak benchmark — Quick VRAM stress test (requires open world)
🔍 How It Works
VRAM Tweak uses Mixin injection to intercept GPU texture creation at the Blaze3D engine level — the same layer Sodium and Iris use. No coremods, no ASM, no native code.
- Texture creation →
GpuDevice.createTexture()is intercepted to cap atlas sizes, downscale formats, and track allocations. - Frame rendering →
GameRenderer.render()hooks collect FPS/VRAM stats and apply CAS sharpening. - VRAM pressure → Per-second polling of
GL_ATI_meminfoorGL_NVX_gpu_memory_infotriggers dynamic render distance reduction.
💡 Tips
- For high-res resource pack users: Enable
atlasSizeLimit— this is the single biggest VRAM saver - For shader users: Enable
depthDownscale— shadow maps are a major VRAM consumer - For 4-6 GB GPUs: Enable
governoras a safety net against out-of-memory crashes - Verification logs: Enable
diagnostic.verificationLogto see before/after for each optimization inlogs/vram-tweak/
🐛 Reporting Issues
Attach the diagnostic dump:
/vramtweak dump
This creates a file in logs/vram-tweak/ with GPU info, config snapshot, and session stats. Include latest.log snippets showing [VRAM-Tweak] messages.
Zero mod conflicts. Zero shader patches. Just VRAM savings.
If you want to know more about it,please read this:README



