header
premium banner

Description

A full replacement of the Minecraft lighting engine with an extendable API, shipping with Phosphor as a reference implementation.

Join us on Discord

Dependencies

Performance

The main performance improvement comes from the fact that the lighting engine is evaluated "lazily", thus it is able to batch more lighting updates into a single pass.

Here are some simple to understand values, generated via profiling a pre-set test case:

  • World Type: Default
  • World Seed: 123
  • Game Mode: Creative
  • Render Distance: 16

Profiler is started right before clicking Create New World, and stopped after 10 seconds of flying in a straight line in creative mode.

Without Lumi, the active server time spent in lighting engine is 34% of the total active server time (not counting when the server thread is sleeping).

With Lumi, this fraction goes down to 13%, or an approximately 2.5x performance increase over vanilla.

Horizontal axis is time, vertical axis is the call stack. The blue highlighted parts are calls to the lighting engine update method.

Flame Graph Without Lumi

Flame Graph With Lumi

Incompatibilities

  • ArchaicFix: Config Change Needed
    • As both mods replace the same parts of code, naturally you will need to set enablePhosphor to false in the ArchaicFix config.
  • CoreTweaks: Config Change Needed
    • The fix_heightmap_range feature is already implemented in Lumi's lighting engine. Set it to false in the CoreTweaks config.

Both of these configs will be automatically modified by Lumi automatically when you launch the game, so you shouldn't even need to edit the config files manually.

Authors

Credits