VRAM 微调

VRAM 微调

VRAM Tweak 是一个用于减少游戏消耗的显存量的模组。

性能

VRAM Tweak


该模组正在积极开发中。如果下载页面没有显示任何文件,说明仍在审查或修复漏洞中。目前模组处于 Beta 阶段。

更新至最新的 AMD GPU 驱动 (26.6.4) 后,VRAM 使用情况变得更正常了。

因此,本模组将不得不等待 Vulkan API 发布,届时再观察其还能实现哪些功能。


节省你的 GPU 显存。无需修改着色器。无需更换资源包。

VRAM Tweak 在引擎层面拦截 GPU 纹理创建——限制过大的图集、降低深度缓冲区的分辨率、限制动画帧数,并在内存压力下动态调整渲染距离。可与 Sodium 和 Iris 共同使用,无需修改它们的代码。

使用本模组的某些功能可能会降低游戏的画面质量。


✨ 功能说明

功能 工作原理 影响
图集尺寸上限 将 GpuDevice.createTexture() 的宽/高限制在 maxAtlasSize 以内 每个 16384→4096 图集节省约 240 MB。每个会话约 26 次。
深度缓冲区降级 D32_FLOAT → D16_UNORM 阴影贴图 将阴影贴图的 VRAM 消耗减半。每个会话约 10 次。
格式降级 RGBA16F → RGBA8 颜色缓冲区 颜色目标 VRAM 消耗约减少 50%。需要高负载着色器包。
阴影贴图上限 将阴影贴图分辨率限制为 ≤ 4096 防止模组产生过大的阴影分配。
FSR CAS 锐化 AMD 对比度自适应锐化后期处理 零 VRAM 成本,恢复视觉细节。
VRAM 调节器 当 VRAM 超过阈值时自动降低渲染距离 防止因内存不足导致的崩溃。
粒子限制 全局粒子数量安全上限 防止粒子效果泛滥导致 VRAM 膨胀。
动画限制 限制动画纹理的帧数 减少动画纹理的内存占用。
预算追踪 逐帧 VRAM 轮询 + 可配置的警报阈值 在卡顿发生前提供预警。
HUD 叠加层 实时显示 FPS/VRAM 百分比/图集统计/预算 每个指标可独立开关。

📊 真实效果

硬件: AMD R5 5600 + 32GB DDR4 + RX 6650 XT 8GB 软件: MC 26.2 + Sodium 0.9.0 + Iris 1.11.1 + EXTREAL 资源包 + Spring v2 光影

使用前后对比

AMD GPU 驱动版本 使用前 使用后
VRAM 峰值 (AMD GPU 驱动 26.6.2) 7820 / 8192 MB (95.4%) 4728 / 8192 MB (57.7%)
VRAM 峰值 (AMD GPU 驱动 26.6.4) 5960 / 8192 MB (72.7%) 3985 / 8192 MB (48.6%)

再次强调:更新至最新的 AMD GPU 驱动后,VRAM 使用情况变得更正常了。


会话统计

指标 次数
图集限制 26 (6 个图集从 16384px 降至 4096px)
深度缓冲降级 10 (D32→D16 阴影贴图)
预算警告 0
节省的 VRAM ~2.5 GB (95.4% → 57.7%)

资源包与光影兼容性

  • EXTREAL 资源包(付费资源包,16384px 图集)—— 完全兼容,图集被限制为 4096px,视觉损失极小。
  • Spring v2 光影(光影)—— 完全兼容,深度缓冲降级适用于阴影贴图。
  • 通用性:适用于任何使用标准 Minecraft 纹理加载的资源包和光影。

只要你在游戏中能看到,本模组就能优化其 VRAM 使用。


📦 需求

依赖 类型 版本
Sodium 硬依赖 0.9.0
Iris 软依赖 1.11+(光影兼容性)
Cloth Config 软依赖 26.2+(GUI)
ModMenu 软依赖 20.0+(配置按钮)

平台: Windows, Linux | Java: 25+


⚙️ 快速开始

  1. 为 Minecraft 26.2 安装 Fabric。
  2. 安装 Sodium。对于 26.2 版本,如果安装了 Iris,Sodium 必须为 0.9.0 版本,因为 Iris 不兼容高于 0.9.0 的版本。对于 1.21.11 版本,Sodium 必须为 0.8.13-beta-1 版本,因为 Iris 不兼容高于 0.8.13-beta-1 的版本。如果你不使用 Iris,可能没有限制。
  3. 安装 Cloth Config API。
  4. 安装 Iris(此为可选)。
  5. 将 vram-tweak-x.x.x.jar 放入 mods/ 文件夹。
  6. 启动游戏 —— 打开 Mod Menu → VRAM Tweak → 启用功能。

所有功能默认关闭 —— 由你决定启用哪些。 切换功能后重启游戏以获得完整效果。

针对 4-6 GB GPU 的推荐配置

{
  "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 }
}

🔧 命令

/vramtweak stats      — 在聊天栏显示 VRAM + FPS 报告
/vramtweak dump       — 将完整诊断信息保存到文件(用于错误报告)
/vramtweak hud        — 切换 HUD 叠加层显示
/vramtweak benchmark  — 快速 VRAM 压力测试(需要开放世界)

🔍 工作原理

VRAM Tweak 使用 Mixin 注入 在 Blaze3D 引擎层面拦截 GPU 纹理创建 —— 与 Sodium 和 Iris 使用的层级相同。无需核心模组、无需 ASM、无需原生代码。

  1. 纹理创建 → 拦截 GpuDevice.createTexture() 以限制图集大小、降低格式和追踪分配。
  2. 帧渲染 → 钩子 GameRenderer.render() 收集 FPS/VRAM 统计信息并应用 CAS 锐化。
  3. VRAM 压力 → 每秒轮询 GL_ATI_meminfo 或 GL_NVX_gpu_memory_info 以触发动态渲染距离降低。

💡 提示

  • 对于使用高分辨率资源包的用户:启用 atlasSizeLimit —— 这是最大的 VRAM 节省项。
  • 对于使用光影的用户:启用 depthDownscale —— 阴影贴图是主要的 VRAM 消耗者。
  • 对于使用 4-6 GB GPU 的用户:启用 governor 作为防止内存不足崩溃的安全网。
  • 验证日志:启用 diagnostic.verificationLog 可在 logs/vram-tweak/ 中查看每次优化的前后对比。

🐛 报告问题

请附上诊断转储文件:

/vramtweak dump

这会在 logs/vram-tweak/ 目录下创建一个文件,包含 GPU 信息、配置快照和会话统计数据。同时附上 latest.log 中包含 [VRAM-Tweak] 消息的相关片段。


零模组冲突。零光影补丁。仅节省 VRAM。


如果你想了解更多信息,请阅读此文档:README