跳到正文

BadOptimizations

作者:thosea

专注于渲染之外的优化模组

收藏

介绍

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

BadOptimizations

一系列大多为微小的优化,积少成多,效果显著!

它有什么作用?

多个方面:

  • 避免更新光照贴图

    更新光照贴图纹理是客户端 tick 中最耗时的部分之一。在每个 tick 中,客户端都会进行向量运算来计算方块和天空的光照贴图,然后将新纹理上传到 GPU。然而,如果没有任何影响方块亮度的事物发生变化,这一过程完全可以被避免并缓存。本模组会在没有任何改变方块亮度的事物(例如伽马滑块、药水效果、维度)发生变化时,取消光照贴图的更新。

  • 不需要时不执行调试逻辑

    Minecraft 有四个可通过调试服务器激活的调试渲染器:蜜蜂、游戏事件、游戏测试和村民 AI。即使没有任何需要处理的内容,这些调试渲染器的逻辑仍会被执行。本模组仅在调试启用且服务器有数据需要处理时才会执行它们。

  • 天空颜色计算优化(1.21.10 及以下)

    Minecraft 每帧使用三次颜色采样器来计算当前天空颜色。该函数会循环 216 次以考虑周围的生物群系,即使所有周围生物群系完全相同或具有相同的天空颜色。本模组使颜色采样器仅在你处于天空颜色不同的生物群系之间时使用,并在每个 tick 缓存结果。否则,将使用更短、更简单、更快的天空颜色计算方式。

至少这是其中的一部分。
如有需要,你可以在配置文件中禁用任何优化。

它能带来多大帮助?

取决于你的系统和运气,但在我自己的电脑上——RTX 3060、Intel i7 12700、在 Fabulously Optimized 上分配 4GB 内存:

在没有提示弹窗的情况下,从 1926-1955 FPS:

提升到 2008-2023 FPS:

在有提示弹窗的情况下,从 1351-1384 FPS:

提升到 1414-1458 FPS:

我的模组不兼容!

你可以将你的模组标记为与特定的 BadOptimizations 选项不兼容。如果你的模组存在,BadOptimizations 将自动禁用你指定的特定选项。
你也可以添加钩子来告知 BadOptimizations 何时需要更新光照贴图或天空颜色,而不是为缓存优化添加硬性不兼容。

有依赖吗?

没有。

(如果你喜欢的话,也可在 CurseForge 上获取。)

评论

登录后评论和评分