BadOptimizations
目前大部分的优化模组都着重于渲染性能和优化原版的渲染引擎,而本模组则是优化了除此以外的方面。
建议将本模组与其它优化模组(如钠)同时使用。
功能
目前的主要功能:
避免光照贴图的更新。更新光照贴图的纹理可能是客户端中最消耗性能的地方。每次 tick 时,客户端都会进行矢量运算来计算方块和天空的光照贴图,然后将新的纹理上传到服务端上。但当游戏中没有改变亮度的东西时,这种计算依旧会进行,从而影响性能。本模组会在没有影响亮度的东西时,取消光照贴图的更新。
避免计算云和天空的颜色。游戏中的每次 tick 都会计算云和天空的颜色,这显然是没必要的,本模组使当云和天空的颜色受到影响时,才会进行计算。
在不打开 F3 时不进行 F3 计算。 F3 的计算非常影响性能,当玩家没有打开 F3 时,这种计算依旧在进行,并且 FPS 字符串的使用是一个非常缓慢的函数调用。本模组使该函数只有在玩家打开 F3 时才会被调用,但并不会影响任何显示 FPS 的模组。
不进行没必要的视场角计算。在玩家拉弓、疾跑等情况下,视场角会产生变化,但当视场角的拉伸比例为零时,游戏依旧会进行没必要的计算。本模组会在视场角的拉伸比例为零时,取消本次视场角的计算。
替换了 ToastManager 中的 removeIf 调用。在原版中,游戏会调用两次 Predicate ,这会导致每个消息框会出现两次。本模组将调用替换为一次,这使无论当前是否有提示框,都可以提高性能。
作者在 RTX 3060 、 intel i7 12700 和 4GB 分配内存的游戏上进行测试: