快速照明

快速照明

零分配、异步照明实现,以实现最佳服务器性能

实用

一款服务端光照引擎替代品,灵感源于 Minecraft 的 Starlight 模组。

工作原理

FastLight 通过自定义实现替换了 Hytale 默认的同步光照计算:
1. 异步执行:方块光和天空光传播从主服务器线程转移到后台工作池(使用 `CompletableFuture`)。
2. 位运算传播:利用 64 位整数位掩码同时计算整个区块区域的光照等级,绕过逐方块迭代。
3. 零分配:在整个计算生命周期中复用数组引用和数据结构,防止过多对象创建,减少 Java 垃圾回收器的开销。

效果

  • 默认引擎(无模组):同步区块生成和光照更新在主线程上运行,在区块生成事件期间通常消耗 每个刻 15-30 毫秒
  • FastLight 引擎(有模组):主线程光照开销减少至 每个刻小于 1 毫秒,因为繁重的计算由后台线程处理。

安装

设置:将 `FastLight.jar` 放入服务器的 `mods` 文件夹,然后重启服务器。无需配置。

官方服务器

Obriy — 乌克兰 Hytale 服务器!

https://obriyhytale.pp.ua/