创建:催化剂

创建:催化剂

一款优化机械动力模组的模组,可带来约40%的FPS提升(并添加了随航空学一起的ScalableLux支持)

性能

Catalyst

适用于 NeoForge 1.21.1 上 Create 模组的客户端性能优化补丁。所有选项均可在 config/catalyst-client.toml 中切换。

性能

  • 烈焰炉烟雾在燃烧室区块中约占帧时间的 46%,因此 Catalyst 只会生成一半的烟雾柱,在此处可提升约 30% 的 FPS。
  • 你的粒子设置现在适用于燃烧室烟雾,而 Create 原本刻意绕过了此项设置。
  • 多方块储罐在仅控制器进行渲染时,使 Sodium 处理每个节段,将储罐区的光照计算成本从 2.10 秒降至 0.17 秒。
  • 流体渲染为每个顶点复制两个矩阵,每个储罐每帧浪费约 4500 个对象。
  • 远处的流体面作为一个面板绘制,将 3x30 的储罐墙从 90 个四边形减少为 1 个。
  • 传送带上的物品在超过 32 格后停止绘制,但传送带本身仍会渲染。
  • 传送带堆叠会在 8 格内绘制其模型堆栈,而非 16 格,这是针对承载数千物品的传送带问题的主要修复。
  • 同一节段上的传送带物品会复用光照信息,且视觉上无任何变化。
  • 工作盆、站点、投射器、动力锯、机械手和动力合成器上的机器展示物品在超过 32 格后停止绘制。
  • 过滤器与红石连接盒在超过 20 格后停止绘制。
  • Create 方块实体在超过 48 格(而非 64 格)后停止渲染。
  • 机械装置的渲染会按 tick 缓存其 Flywheel 后端检查,而非每帧针对每个方块实体进行检查。
  • 护目镜检查(可能会每帧扫描 Curios 物品栏)现按 tick 进行缓存。

音频

  • 通过限制重复声音的启动,修复了机器农场的卡顿现象,实测在 86 秒内渲染线程停顿时间从 3.1 秒降下。
  • 通过将篝火噼啪声限制为每 tick 最多 2 次,修复了燃烧室农场中音频的噼啪声和断音问题。
  • 全局预算限制了每 tick 启动的 Create 声音数量,被丢弃的播放会在下个周期重试。
  • 声音绝不会因距离而受限。

兼容性

  • 需要 NeoForge 1.21.1 上的 Create 6.0.0+ 版本。
  • 已使用 Sodium、Flywheel 和 Sable / Create Aeronautics 进行测试。
  • 增加了与 ScalableLux 的兼容性(需进行微调)。
  • 飞艇方块能正确渲染和发声,因为距离判定基于渲染器而非玩家。

对比

优化前

优化前 179 FPS

优化后

优化后 269 FPS