介绍
介绍由机器翻译自 CurseForge 原页面,仅供参考。
📖 概述
这是一个客户端光照计算优化模组,通过缓存光照查询结果、优化区块构建期间的数据读取路径,并与 Sodium Dynamic Lights 集成以消除冗余计算,从而降低区块加载、视角旋转和大规模方块变化时的 CPU 开销。
简单来说:光照计算速度提升两倍,区块构建速度提升 49%,探索更流畅,卡顿显著减少。
✨ 关键结果
基于 120 秒的 Spark A/B 测试,唯一变量为是否安装 LightStar:
| 指标 | 未安装 Lightstar | 安装 Lightstar | 提升 |
|---|---|---|---|
| 光照计算总时间 | 基准 | -52.5% | 快 2 倍 |
| 光照处理吞吐量 | 1.0x | 2.1x | +110.5% |
| Embeddium 区块构建吞吐量 | 1.0x | 1.49x | +49% |
| 动态光照查询时间 | 82.3 秒 | 0.05 秒 | -99.94% |
结果为两组测试(开启/关闭光影)的等权平均值。
测试配置:AMD Ryzen 9 9950X3D + NVIDIA RTX 4080 Super OC。实际使用中,中低端配置将获得更明显的提升。
🎯 预期收益
- 减少 Embeddium 异步区块构建期间的冗余光照查询、坐标转换和数组清理。
- 减少重复采样同一位置时的哈希查找和数组访问。
- 复用相同不可变区块快照的静态光照结果,降低重复区块构建的开销。
- 阻止不支持 Forge 外部面剔除的方块进入相邻面剔除查询。
- 安装 Sodium Dynamic Lights 后,减少动态光照查询期间的冗余遍历、读写锁争用和线程本地状态开销。
⚙️ 实现细节
光照缓存
使用 4 路组相联的线程本地原始类型缓存来存储最近的光照值,并为最近访问的位置额外提供单条目快速路径。光照更新会推进一个数字代数计数器,立即使旧结果失效。DataLayer 的半字节读取使用直接索引和位运算,以减少热路径上的辅助方法调用和乘法运算。
Embeddium 区块构建
- 单次遍历读取方块光和天空光,消除对相同坐标的第二次区段查找。
- 方块光固定于低 4 位,天空光固定于高 4 位,消除对枚举顺序的依赖。
- 使用 16 位代数数组,而非为每个构建任务清零全部 8000 个缓存槽位。
- 为克隆的不可变区段分配数字修订号;仅当世界、原点及所有区段修订号均匹配时才复用跨任务缓存。
- 跨任务缓存使用访问顺序淘汰策略,并在世界登录/登出时清空。
Sodium Dynamic Lights 集成
- 动态光源查询状态和一个 4096 项 4 路组相联缓存直接由
ArrayLightDataCache实例持有,消除了ThreadLocalMap查找。 - 在每个构建任务开始时,会在 SDL 读锁下复制动态光源引用的快照。任务内的查询直接遍历此快照,避免每次采样都获取
ReentrantReadWriteLock。 - 光源更新会推进世代计数器;移动光源永远不会写入持久缓存或留下静态残影。
- 非区块构建路径保留完整的 SDL 回退行为以保持兼容性。
⚠️ 不兼容性
- Starlight — 不兼容。
- Sodium/Embeddium Options API — 不兼容。此模组没有实际用途,且不是 Sodium Dynamic Lights 的必需依赖。
常见问题
LightStar 支持哪些 Minecraft 版本?
LightStar 支持 Minecraft Java 版 1.20.1,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。
LightStar 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。
TheFlareStar 的其他作品
查看全部 →Optimization of Campfire Smoke
by TheFlareStar
优化原版营火的烟雾粒子效果
262.6万
1 年前
CurseForge
Citadel Fix
by TheFlareStar
这个模组修复了 Citadel 启动时拉取赞助商名单导致的卡顿,并优化了启动速度。
231万
1 年前
CurseForge
Toms Storage Star Optimized
by TheFlareStar
Tom的存储的轻量优化模组。
117.4万
2 个月前
CurseForge
Shipwreck Fix
by TheFlareStar
这个模组修复了1.19.2/1.20.1中沉船群组(MC-249136)的漏洞,避免其长时间卡顿。
108.7万
1 年前
CurseForge
评论
登录后评论和评分