promotional bannermobile promotional banner

Pulsar Lighting Engine

Bringing a Starlight-based lighting engine to CleanroomLoader

Pulsar Lighting Engine

Pulsar is an experimental asynchronous lighting engine for Minecraft 1.12.2 on Cleanroom. It replaces vanilla block and sky lighting with a Starlight-inspired implementation that moves most light propagation away from the server thread.

To make Pulsar easier to include in modpacks, it is now available on CurseForge in addition to GitHub Releases.

What Pulsar improves

  • Runs server-side block-light and skylight propagation on dedicated worker threads.
  • Batches large groups of block changes instead of lighting each edit separately.
  • Saves completed light data with chunks, avoiding a complete relight every time they load.
  • Writes normal Minecraft light data, so removing Pulsar does not lock a world to a custom save format.
  • Fixes several vanilla rendering problems around slabs, stairs, and light-emitting blocks, including
  • Supports dimensions extending below Y=0 or above Y=255 through its Depths Update integration.

Issues fixed in Pulsar

Requirements

Compatibility

Pulsar should work with most biome, cave, world-generation, and dimension mods that use Minecraft's normal chunk and world APIs. Unlisted combinations are not guaranteed, so please report any reproducible lighting problems.

Supported integrations

Incompatible or unsupported

  • Alfheim
  • Phosphor for Forge
  • Hesperus
  • Any other mod that replaces or rewrites the lighting engine
  • The standard edition of The Aether II, which bundles Phosphor; use The Aether II: Phosphor Not Included instead
  • CubicChunks, which uses a different world-storage model

OptiFine is untested and is not recommended with Pulsar.

Performance

In controlled Lightbench tests, Pulsar recorded the lowest server-side light-completion latency in all four measured block-edit workloads. In a separate fresh-generation test, it completed the workload 13.5% sooner than vanilla and performed broadly similarly to Alfheim.

These results are specific to the tested machine and workloads. They do not represent equivalent improvements to FPS, TPS, or overall game performance.

Light-update benchmark

Light-update completion latency benchmark comparing Vanilla, Alfheim, and Pulsar. Lower is better, and Pulsar recorded the lowest latency in all four measured workloads.

Each edit was measured until server-side lighting completed.

Circles represent vanilla, diamonds represent Alfheim, and squares represent Pulsar. The horizontal lines show the fastest-to-slowest result across three independent Minecraft restarts.

Open the light-update graph at full size.

Fresh chunk generation benchmark

Fresh chunk generation benchmark comparing Vanilla, Alfheim, and Pulsar. Bars show the median of three runs, and the horizontal lines show the measured range. Lower is better.

Pulsar completed the 10,404-chunk workload in a median of 48.831 seconds, compared with 56.461 seconds for vanilla: 13.5% less elapsed time on the test system.

Alfheim completed it in 49.615 seconds, and its measured range overlapped with Pulsar's, so the two should be considered broadly similar in this workload.

The colored bars show the median total time. The horizontal lines show the fastest-to-slowest result across three independent Minecraft launches.

This test includes terrain generation and lighting. It is not a pure light-propagation benchmark.

Open the chunk-generation graph at full size.

See the complete methodology, individual runs, limitations, and raw data on GitHub.

Credits

  • Starlight by Spottedleaf, for the architecture and core algorithms on which Pulsar is based
  • SuperNova by GTNewHorizons, a Minecraft 1.7.10 port of Starlight that served as the basis for early versions of Pulsar
  • Alfheim by Red Studio, as a reference for fixing MC-92
  • CleanroomModTemplate by CleanroomMC

The Pulsar Lighting Engine Team

profile avatar
Owner
  • 2
    Followers
  • 3
    Projects
  • 8.4K
    Downloads

:thinking:

More from pepe_yu