![[SBW] 科莫多渲染加速器](https://cdn8.newbeebox.com/nbbnext/2026/08/04/4bb0ba154843301626fa2941622a0704.png)
[SBW] 科莫多渲染加速器
将卓越战争渲染性能提升5倍至30倍
Komodo
Komodo 是一款客户端专用的 Minecraft 模组,旨在加速 Superb Warfare (SBW) 载具的渲染。它将默认的每帧 GeckoLib 载具绘制替换为 GPU 实例化的 Flywheel 路径,从而大幅降低坦克、卡车、直升机等大规模载具集群对 CPU 和渲染线程的占用。可提供 5-30 倍的性能提升。
该模组从单一源码树构建出两个版本:
- Minecraft 1.20.1 (Forge)
- Minecraft 1.21.1 (NeoForge)
功能说明
对于每辆 SBW 载具,Komodo 会一次性烘焙 GeckoLib 模型,然后通过 Flywheel 的实例化器进行绘制,而不是每帧重新遍历和计算每根骨骼。
- 静态车身骨骼会合并为单个网格,作为一个实例化的车身进行绘制。
- 运动骨骼(车轮、履带、炮塔、炮管、旋翼等)会成为跟随动画的独立动态实例。
- 相同的骨骼网格(例如许多履带链接)会共享一个网格和一个实例化器。
- 在较低细节(LOD)模型上,履带段会被烘焙到静态车身中,因为远距离时履带滚动并不明显。
在实例化路径之上,它还增加了三项优化:
- 休眠机制:停放且未使用的载具(空载、静止、无动画)会被冻结并停止更新,直到检测到任何相关状态变化(驾驶员、移动、旋转、炮塔或火炮瞄准、后坐力、AI 目标或开火)。这是中断驱动的,因此冻结的载具几乎不消耗资源。
- 车库池:休眠、静止的载具会被一次性烘焙到共享的 GPU 缓冲区中,并通过单次调用进行绘制,同时定期重新光照和后台压缩。(目前存在缺陷)
- 保留后备方案:当启用光影包(Iris 或 Oculus)时,会跳过原始实例化绘制,改用保留的顶点缓冲路径,以确保载具仍能正确渲染。不过,我不推荐使用此方案。
它还包含一个小型游戏修复,即缓存混入(VehicleGunDataCacheMixin),用于缓存 SBW 的枪支数据映射,而不是每辆载具每 tick 多次重建。这有助于减少 GC 卡顿。
配置项
Komodo 会写入一个配置文件 config/komodo.toml,位于 [dormancy] 部分下。
probeVehicles(字符串列表,默认为空):这些载具实体 ID 在停放、空载且未触碰时会自行持续动画。这些是中断驱动唤醒路径无法观察到的唯一载具,因此它们会获得廉价的周期性重新检查,而不是保持冻结。 示例:["superbwarfare:some_idle_animated_vehicle"]probeAllVehicles(布尔值,默认为 false):当为 true 时,无论上述列表如何,每辆载具都会被周期性重新检查。仅当停放载具看起来卡在动画中间且你不确定要添加哪个 ID 时,才用于诊断。
大多数配置都不需要这两个选项,因为标准载具可以干净地冻结,并在任何真实状态变化时唤醒。
此外,还有运行时开关和基准测试工具,用于调整和性能分析:
/kmodoc flywheel on|off、/kmodoc dormancy on|off、/kmodoc garage on|off/kmodoc profile on|off、/kmodoc report、/kmodoc run <label> <seconds>、/kmodoc ab <seconds>/kmodo garage <count> [type|mix] [spacing]和/kmodo clear用于生成和移除测试车队
兼容性说明
- 仅支持 0.8.9+ 版本。0.8.8 版本将无法运行。
- 与 ImmediatelyFast 不兼容。
- 与 Voxy 不兼容,请使用 Flywheel 实例化后端。
来源
此渲染器是 Warfactory Modern Core 模组中“Kmodo”(原拼写错误)系统的直接移植,将其独立提取为单独的模组。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。