Starlight
Madis0 opened this issue Β· 19 comments
Mod name
Starlight
Curseforge link
https://www.curseforge.com/minecraft/mc-mods/starlight
Modrinth link
Other link
https://github.com/Spottedleaf/Starlight
What it does
Replaces the vanilla light engine for claimingly 25x faster performance
Why should it be in the modpack
Better light performance, could replace Phosphor, now owned by Paper which means more potential developers
Why shouldn't it be in the modpack
Currently (forever?) incompatible with vanilla light format, so when the mod is disabled (for any reason), the world loads longer. Still needs more evaluation on its sustainability and mod compatibility - even the developer itself claims it "may not improve FPS and has mod incompatibilities".
Categories
- Performance optimization
- Graphics optimization
- New feature
- Optifine parity
- Fixes a bug/dependency
- Replaces an existing mod
Additional details
Important caveats: https://github.com/Spottedleaf/Starlight/blob/fabric/TECHNICAL_DETAILS.md#important-details-to-note
The caveats make it not worth it in the short term, I will revisit this in 1.18.
Also note-to-self: when this is added, add a disclaimer about light resets if vanilla or other mods are used.
Edit: I now have a planβ’
- 1.18.1 will be released by FO without Starlight
- FO will make some updates to get parity with 1.18 and resolve any important issues (crashes, multiplayer bug etc)
- FO will include Starlight and ask users to vote whether it is better than not having it
- FO will update mods etc.
- FO will include Phosphor and ask users to vote whether it is better than Starlight
- FO will make final decision on which mod to use in the future
Edit: People have voted and 1.18+ will include Starlight.
Since this gets asked for a lot, I figured I'd list my reasons why I currently prefer Phosphor over Starlight even though Starlight does give better light performance.
- "So overall I do not expect Starlight to improve FPS at all. If anything, it will harm it due to the stuttering caused by generating and loading chunks faster." (source)
- "[...] don't expect any changes Starlight does to actually make FPS improve on the average - it just helps with those edge cases at maximum world heights." So essentially it could help more in 1.18 than in 1.17. (source)
- "If the world is saved in Vanilla then to Starlight the chunks will look unlit, so it will relight them." This means using any other client/set of mods in your world will make it slower to load at first. (source)
"Please note that since this is a beta, there could be some light corrupting issues. Do not use if you do not want to take that risk!" Starlight is in beta and Phosphor is not. (source)Not released on Curseforge or Modrinth PaperMC/Starlight#65
I am following the development of both so everything could change, especially with 1.18 big caves and mountains, which do require more light updates. Maybe Starlight will release a stable version soon? Maybe Phosphor gets discontinued? Maybe Mojang finally fixes their light issues? Time will tell.
Edit: Good news, CF version has been released and it is now a part of Paper. Still, that doesn't yet indicate how often will it update on Fabric and how well are any mod conflicts handled.
@RealCamar Thanks for letting me know! I am still a bit cautious for now and am considering to release it in 1.18.
It should be released on CurseForge soon. Just waiting for approval
Here's a video showcasing Starlight. I am aware that this doesn't include a Phosphor comparison, but just thought that this would be helpful.
https://video.cdn.minepkg.io/608534b6874ed483f8038d80/608fe9061c83190fee046c6a.1080.vp9.webm
Here's a video showcasing Starlight. I am aware that this doesn't include a Phosphor comparison, but just thought that this would be helpful.
https://video.cdn.minepkg.io/608534b6874ed483f8038d80/608fe9061c83190fee046c6a.1080.vp9.webm
Looks good as an illustration, but for a benchmark it lacks FPS and CPU/GPU usage during those chunk loads.
Noteworthy read: JellySquid (Sodium/Lithium/Phosphor/Hydrogen dev) discussing Starlight: https://discord.com/channels/602796788608401408/754753337525534892/886265756742975548
(via https://caffeinemc.net/discord)
Now that it is a part of PaperMC, we can consider it to be out of beta and usable now? Besides that I now don't see any reason not to just use Starlight.
Just because a project is part of an organization, does not mean that it is stable :)
https://www.curseforge.com/minecraft/mc-mods/starlight/files/3554912
At the very least 1.18.1 should come out before I include it. Though I also wonder about potential future incompatibilities with Sodium, as one was just recently fixed...
Edit: updated OP with a plan
Summary of a discussion we had in the modpack's Discord + some additional points:
Phosphor
Pros
- 100% vanilla-compatible lighting
- 1.17 was released and there is a 1.18 dev build (also 1.16 got updated FWIW)
Cons
- People claim it is slower on some multiplayer servers
- Seems less sustainable nowadays, a 1.17 update to Phosphor was released today while 1.17 was released ~5,5 months ago
Starlight
Pros
- Faster lighting than Phosphor and vanilla
- Should bring a bigger difference in 1.18 due to larger worlds
- The fact that worlds have to be relit may not be an issue if they are relit fast anyway
- People claim it works better on multiplayer servers
- Was released ~3,5 months ago, so 2 months after 1.17
- 1.18 is already being worked on, could be ready for release
Cons
- The dev says it will not improve FPS in most cases
- Chunk loading may cause more stutters on slower computers
- Existing worlds must be relit
- Received no bugfixes since first stable release
I am still thinking how to approach this, currently leaning towards Starlight but maybe not for the first build of 1.18 (regardless of whether it is available then).
The fact that worlds have to be relit may not be an issue if they are relit fast anyway
However the other way around (loading starlight worlds in vanilla/other lightning engines) could be slow if updates stop/come late at some point or players want to share their worlds with people without the mod.
Plus the whole light suppression debate, since "invalid" light from existing worlds is also cleared.
The fact that worlds have to be relit may not be an issue if they are relit fast anyway
However the other way around (loading starlight worlds in vanilla/other lightning engines) could be slow if updates stop/come late at some point or players want to share their worlds with people without the mod.
Plus the whole light suppression debate, since "invalid" light from existing worlds is also cleared.
What about "optimize world" option? Would it help?
Using "optimize world" with Starlight would convert the world to the starlight format (and without starlight to the vanilla format), at least if the erase cached data option is selected (if it's not, the light may not even be converted regardless).
Optimize world basically loads and saves all chunks in the world (save only if needed), nothing more, if I'm not wrong.
This voting has ended as well, results are below!
Starlight results are in!
Github: 20π 2π 1π
Discord: 25π 1π 11π
Sum: 45π 3π 12π
So 75% thought that Starlight is better than vanilla, 5% thought it is worse and 20% did not see a difference.
Now it's time to see how Phosphor goes against Starlight. The voting will end mid-January, after which the mod to use will be decided.
If you don't have a GitHub account, but have a Discord account, vote here. (join the server first)
To vote:
- Create a new world in 3.1.0-alpha.5. Explore it a bit. Observe the performance of loading new chunks.
- Create a new world in 3.1.0-alpha.6/3.1.0-alpha.7. Explore that as well.
- Now compare the two. Which one was faster to load? Did your game freeze at some point? How was your FPS?
π 3.1.0-alpha.6/3.1.0-alpha.7 was faster, smoother, had better FPS.
π 3.1.0-alpha.5 was faster, smoother, had better FPS.
π Performance was similar or equal, did not notice a difference.
Phosphor is out for 1.18 -
https://www.curseforge.com/minecraft/mc-mods/phosphor
This voting has ended, now vote below!
It's time to test Starlight! In order to decide, whether to use it in Fabulously Optimized going forward, I need your vote.
Feel free to discuss the vote in this topic. The voting will end with the end of the year, then Phosphor will be added for another testing and voting.
If you don't have a GitHub account, but have a Discord account, vote here. (join the server first)
To vote:
- Create a new world in 3.1.0-alpha.3. Explore it a bit. Observe the performance of loading new chunks.
- Create a new world in 3.1.0-alpha.4/3.1.0-alpha.5. Explore that as well.
- Now compare the two. Which one was faster to load? Did your game freeze at some point? How was your FPS?
π 3.1.0-alpha.4/3.1.0-alpha.5 was faster, smoother, had better FPS.
π 3.1.0-alpha.3 was faster, smoother, had better FPS.
π Performance was similar or equal, did not notice a difference.
Phosphor results are in!
Github: 7π 27π 3π
Discord: 2π 22π 4π
Sum: 9π49π7π
14% of voters thought Phosphor runs better than Starlight,
75% of voters thought Starlight runs better than Phosphor and
11% of voters did not notice a difference.
Therefore, Fabulously Optimized will use Starlight in versions 1.18.1 and up.
If you were one of the 14%, feel free to follow this tutorial:
https://github.com/Fabulously-Optimized/fabulously-optimized/wiki/Adding-more-mods
Note: due to the way Starlight works, disabling (or replacing) the mod will make your existing worlds initially load a bit slower.
This is harmless, it simply means the game is calculating the lit up areas again with a different algorithm.