在盔甲架、全息文字、NPC、物品展示框和展示实体周围获得更高帧数。
Minecraft 每一帧都会重建每个实体,哪怕它一个小时都没动过。Entity Keepsake 把这些工作留下来重复使用。
Entity Keepsake 是一个完全运行在客户端的 Fabric 性能模组,用来解决拥挤场所的实体卡顿。它为 Hypixel SkyBlock 的主城打造,那里成百上千的全息文字盔甲架和 NPC 会拉低帧数;在任何有大量静止实体的服务器或世界中它都有帮助。不隐藏、不剔除、不删除任何东西:每个实体仍然每帧都会绘制,所以游戏看起来完全一样。
在一个含 112 个模组的 Hypixel SkyBlock 整合包中测试,场景里挤满了全息文字盔甲架和玩家外形的 NPC(交替运行的中位数):
| 平均帧数 | 1% low 帧数 | |
|---|---|---|
| 不装 Entity Keepsake | 52.4 | 40.4 |
| 安装 Entity Keepsake | 85.3 | 57.2 |
更好的 1% low 意味着更少的卡顿,而不只是数字更高。提升幅度取决于你的电脑和屏幕上静止实体的数量:在拥挤的主城里最大,在空旷的世界里很小。
每一帧,Minecraft 都会从零重建每个可见实体。像 Hypixel 这样的服务器会为每条全息文字、每个 NPC 名字和每个浮动标签叠放隐形盔甲架,所以一个主城可能有上百个。每帧把它们全部重建会占用渲染线程大量 CPU 时间,你的帧数就是在这里流失的。
不会盲目复用任何东西。只有连续两次正常构建的结果完全相同,才会重放几何体。
在包含 Sodium、Lithium、ImmediatelyFast、Entity Culling、More Culling、SkyHanni、Skyblocker、Odin、Entity Model Features、Entity Texture Features、3D Skin Layers 和 Not Enough Animations 的 SkyBlock 整合包中测试。上面的帧数是在安装了这些模组的情况下测得的,所以 Entity Keepsake 的提升是叠加在它们之上的。内置自检把每个复用结果与新构建的结果对比:8,669,909 次检查,0 处差异。
.jar 放进 mods 文件夹,然后启动游戏。/entitykeepsake 显示复用了多少实体。/entitykeepsake off 和 /entitykeepsake on 可以关闭和开启它来对比帧数。/entitykeepsake verify 会把每个复用结果与新结果对比。
| 加载器 | Fabric |
|---|---|
| Minecraft | 26.2 |
| 前置 | Fabric API |
| 运行环境 | 仅客户端 |
| 许可 | 保留所有权利 |
Entity Keepsake 是以净室方式重写的 Fast Static Entity,还额外支持带名字的盔甲架(全息文字)、玩家外形的 NPC、会转向你的展示实体和发光实体。添加前请先移除 Fast Static Entity:两者缓存的是同样的东西。