介绍
Recoleta
该模组无需使用 JDK 25 运行时,即可将两项 JDK 25 JEP 的理念移植到正在运行的游戏中:
| JEP | 原生适用范围(JDK 25) | Recoleta 移植实现 | 领域 |
|---|---|---|---|
| 519 – 紧凑对象头 | 将每个对象头从 12 B 缩减至 8 B | 将 Minecraft 中占主导地位的值数据编码为紧凑的基本类型形式,使典型的单实例占用从 24-56 B 降至 8 B | 对象头/值打包 |
| 521 – 分代 Shenandoah | 为低暂停并发 GC 引入新生代和老年代 | 通过分代复用池、限制每刻的引用清理量,以及堆压力回调,在游戏循环中模拟低暂停的局部性 | 对象池与感知压力的清理 |
其他优化途径
- 为类似缓存的工作负载使用带软引用值的有界 LRU
- 对重复字符串进行弱引用驻留,减少堆中的重复副本
- 在线程局部存储中复用位置/向量载体,优化热点循环
- 在空闲时收缩长期存活的可扩展缓冲区,释放冗余空间
- 将堆压力通知接入主动逐出/回收回调
- 限制每种渲染样式的粒子数量(低于原版的 16384),减少客户端内存峰值
- 路径碰撞缓存现在使用紧凑的打包键,减少大型键对象的频繁创建。
- 路径步进会复用可变向量槽位,避免分配临时向量。
- 生成距离检查使用标量运算,避免创建临时几何对象。
- 热点生成位置循环会复用可变坐标载体,而不是反复分配新对象。
- 小型 NBT 路径会为常见的小型负载适当缩减底层映射的大小。
- 加载 NBT 时会重新打包刚解码的复合标签,避免已加载标签携带冗余空间。
- 空列表标签容器会使用较小的底层数组,其大小适合常见的少量条目负载(附魔、描述文本、属性修饰符列表)。
- 能力比较会逐项提前结束,避免每次检查物品堆叠是否相等时都构建两份完整的标签快照。
- 区块流式传输数据包中的方块实体列表会以较小容量开始,而非默认的 10 个槽位。
每项优化都会通过 /recoleta memory status 命令报告命中次数,方便管理员确认相应调优是否确实生效。
配置
所有开关都位于 config/recoleta-memory.toml(Forge 配置)中。可在运行时编辑;每次访问时都会重新读取配置值。
提示
部分改动具有破坏性,我无法保证它们与所有模组都能良好兼容。
对于当前版本,任何与 sable、Sinytra Connector、lithium 及其衍生版本相关的问题均不予受理;同时应保持与 ModernFix 和 FerriteCore 的兼容性。
常见问题
Recoleta 支持哪些 Minecraft 版本?
Recoleta 支持 Minecraft Java 版 1.19.2–1.21.1,共 3 个版本,可用的加载器:Fabric / Forge / NeoForge / Quilt。下载时注意选择和你游戏版本一致的文件。
Recoleta 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / Forge / NeoForge / Quilt,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。
CancriRecoleta 的其他作品
查看全部 →
New Visual Keybing
NewVisualKeybing 是一款 Minecraft 可视化按键绑定管理模组。它会展示键盘和鼠标布局,方便玩家查看、筛选并调整整合包中的按键设置。
SimCity Expansion
New-Simukraft-1.21.1 的建筑扩展包管理器
New Visual Keybing
NewVisualKeybing is a visual key binding management mod for Minecraft. It presents keyboard and mouse layouts so players can inspect, filter, and adjust key usage across a modpack
RecipeExport
RecipeExport is a multi-loader Minecraft mod for exporting recipe data to JSON files
评论
登录后评论和评分