跳到正文

[SBW] Komodo rendering accelerator

作者:MisterNorwood

为 Superb Warfare 带来 5 到 30 倍的渲染性能提升。

收藏

介绍

介绍由机器翻译自 CurseForge 原页面,仅供参考。

Komodo

Komodo 是一款仅限客户端的 Minecraft 模组,可加快 Superb Warfare(SBW)载具的渲染速度。它使用 GPU 实例化的 Flywheel 渲染路径,替代默认的逐帧 GeckoLib 绘制方式,因此大量坦克、卡车、直升机及其他载具对 CPU 和渲染线程的负担会大幅降低。性能提升可达 5–30 倍。

它基于同一套源代码支持两个版本:

  • Minecraft 1.20.1(Forge)
  • Minecraft 1.21.1(NeoForge)

功能介绍

对于每辆 SBW 载具,Komodo 都会先烘焙一次 GeckoLib 模型,然后通过 Flywheel 的实例化器绘制,而不是每帧重新遍历并输出每根骨骼。

  • 静态车身骨骼会合并为一个网格,并作为单个实例化车身绘制。
  • 运动骨骼(车轮、履带、炮塔、炮管、旋翼等)则会成为独立的动态实例,并随动画变化。
  • 相同的骨骼网格(例如大量履带板)会共用一个网格和一个实例化器。
  • 在低细节度(LOD)模型中,履带段会被烘焙进静态车身,因为远距离看不到履带滚动。

在实例化渲染路径之上,Komodo 还加入了三项优化:

  • 休眠:停放、空置、静止且没有播放动画的载具会被冻结,并停止更新,直到受追踪的状态发生变化(驾驶员、移动、旋转、炮塔或武器瞄准、后坐力、AI目标或开火)。唤醒由事件触发,因此冻结状态下的载具几乎不消耗资源。
  • 车库池:休眠且静止的载具只会烘焙一次到共享 GPU 缓冲区中,并通过一次调用绘制,同时定期更新光照并在后台压缩缓冲区。(目前有 Bug)
  • 保留式回退:启用光影包(Iris 或 Oculus)时,会跳过原始实例化绘制,改用保留式顶点缓冲区路径,以确保载具仍能正确渲染。不过我不建议使用此功能。

此外还包含一项小型游戏性修复:缓存混入(VehicleGunDataCacheMixin)会缓存 SBW 的枪械数据映射,而不是每辆载具每个游戏刻都多次重新构建它。这样可以减少 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”(拼写错误)系统,并将其独立拆分为一个模组。

常见问题

[SBW] Komodo rendering accelerator 支持哪些 Minecraft 版本?

[SBW] Komodo rendering accelerator 支持 Minecraft Java 版 1.20.1–1.21.1,共 3 个版本,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。

[SBW] Komodo rendering accelerator 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

MisterNorwood 的其他作品

查看全部 →