Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Noisium #760

Open
Madis0 opened this issue Nov 6, 2023 · 13 comments
Open

Noisium #760

Madis0 opened this issue Nov 6, 2023 · 13 comments
Labels
feedback/testers wanted Issues that could use more feedback from the users mod New Fabric mod to include

Comments

@Madis0
Copy link
Member

Madis0 commented Nov 6, 2023

CurseForge link

https://curseforge.com/minecraft/mc-mods/noisium

CurseForge Mod Distribution

Allowed

Modrinth link

https://modrinth.com/mod/noisium

Source/other link

https://github.com/Steveplays28/noisium/

Mod file size

34.7KB

License

(any other license)

What it does

Worldgen performance optimisation mod for Minecraft, which speeds up chunk loading.
Noisium is meant to fill in the gaps, worldgen performance wise, left by other mods currently. For me, the performance improvements lie between 20-30% for the methods that are optimised.

It's fully compatible with other optimisation mods, such as C2ME and Lithium.
It also fully works with any terrain generation (e.x. vanilla, datapack, and modded).

Why should it be in the modpack

  • Performance improvement
  • Said to be very compatible with other mods

Why shouldn't it be in the modpack

  • I'm afraid of differing worldgen - tests with seeds are needed
  • Is it really that impactful, considering we already have Lithium and chunk loading improvements of 1.20?
  • Singleplayer and LAN only (though it is not necessarily an issue, as Lithium seems to be similar)

Additional details

No response

@Madis0 Madis0 added mod New Fabric mod to include feedback/testers wanted Issues that could use more feedback from the users labels Nov 6, 2023
@AnOpenSauceDev
Copy link

Just quickly glossing over the code, nothing seems to be game-breaking here. I can't vouch for compatibility, as it uses @Overwrite mixins, that could probably be replaced with a few less-destructive mixin types.

@AnOpenSauceDev
Copy link

* Is it really that impactful, considering we already have Lithium and chunk loading improvements of 1.20?

Absolutely, I see a roughly 11-30% performance boost per call in my own testing. This coupled with A) the fact that minecraft calls these methods a lot on world load, and B) that the mod also multithreads one of the laggier types of these generation calls, chunk building is a lot faster on my machine w/ high render distances.

@Madis0
Copy link
Member Author

Madis0 commented Nov 26, 2023

Some users on Discord see less or vanilla-equivalent world loading times. More tests are needed to evaluate.

@AnOpenSauceDev
Copy link

In my testing, it's not actually chunk loading that is faster, but rather new chunk generation. Loading up an already-existing world probably wont have a difference for that reason.

@brl0
Copy link

brl0 commented Dec 3, 2023

I am a recent convert just passing by, so my input shouldn't be taken too seriously, but I wouldn't want to use this if it had any chance of changing the world generation at all.

While I am here, thanks to the maintainers and contributors who make this such an awesome modpack, your efforts are much appreciated!

@AnOpenSauceDev
Copy link

I am a recent convert just passing by, so my input shouldn't be taken too seriously, but I wouldn't want to use this if it had any chance of changing the world generation at all.

Just to clarify, Noisium does not use a faster noise algorithm that might deviate from what minecraft + mods use, but instead optimizes what's already there. The name is a bit of a misnomer, as it just makes sampling and blockstate placement faster. Not every mod has to or inherently will break compatibility just because it changes a core feature.

@RedGreenBlue09
Copy link

It is in fact 20-30% faster when generating new chunks, which is not significant imo.

@AnOpenSauceDev
Copy link

It is in fact 20-30% faster when generating new chunks, which is not significant imo.

30% is still 30% 🤷, and I've done far more destructive optimizations in my own mods to gain 15% more performance before. Considering that it also multi-threads noise sampling means it could be faster on newer hardware.

@RedGreenBlue09
Copy link

RedGreenBlue09 commented Dec 9, 2023

@AnOpenSauceDev I'm using this mod outside of FO personally because yeah, the gain can be noticed. But in context of this modpack, I think it's not that significant.

Edit: Nvm, I think this 30% increase can be significant on slow CPUs, especially when travelling to non-generated regions.

@davidstraka2
Copy link

This would be especially useful addition if Distant Horizons (#240) was ever to be added to the modpack. From Noisium's description:

Distant Horizons: Noisium speeds up LOD world generation threads, since LOD generation depends on Minecraft's world generation speed.

@TheBossMagnus
Copy link
Member

It is in fact 20-30% faster when generating new chunks, which is not significant imo.

30% is still 30% 🤷, and I've done far more destructive optimizations in my own mods to gain 15% more performance before. Considering that it also multi-threads noise sampling means it could be faster on newer hardware.

Maybe the tasting method wasn't right, but i and another user tried benchmarking its impact measuring the time to generate an x radius of chunk via chunky. We had results in the margin of error identical to vanilla (at best -5%, but even some +3%)

@AnOpenSauceDev
Copy link

Interesting, what machine was this tested on? I'm curious if this is because the disk or ram is being bogged down (because chunky usually gets very slow when one of the two are saturated).

This issue prevents me from using chunky as a benchmark for stuff, because usually something else gives way.

@TheBossMagnus
Copy link
Member

Interesting, what machine was this tested on? I'm curious if this is because the disk or ram is being bogged down (because chunky usually gets very slow when one of the two are saturated).

This issue prevents me from using chunky as a benchmark for stuff, because usually something else gives way.

I don't think so, it was tested on a Ryzen 9 7945hx, rtx 4080m, Samsung 980 pro 1tb, 16gb ddr5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feedback/testers wanted Issues that could use more feedback from the users mod New Fabric mod to include
Projects
None yet
Development

No branches or pull requests

6 participants