Fabulously-Optimized / fabulously-optimized

A simple Minecraft modpack focusing on performance and graphics enhancements.
https://download.fo
BSD 3-Clause "New" or "Revised" License
949 stars 85 forks source link

ParticleCore #877

Open SergioK29 opened 2 months ago

SergioK29 commented 2 months ago

CurseForge link

https://www.curseforge.com/minecraft/mc-mods/particle-core

CurseForge Mod Distribution

Allowed

Modrinth link

https://modrinth.com/mod/particle-core

Source/other link

https://github.com/fzzyhmstrs/pc

Mod file size

91KB (Currently has a dependency though, read below)

License

MIT licenced

What it does

Optimizes particles by culling them and caches expensive lightmap lookups used by particles.

Why should it be in the modpack

I currently have all the essential mods (sodium, nvidium, immediatelyfast, lithium) But when I do a /sparkc sampler, I'm surprised to see that on the render thread, the top usage is renderWorld() -> renderParticles() -> buildGeometry().

So I'm wondering if there are any performance mods which notice and address this issue, lo and behold, I find ParticleCore, which has particle culling and optimizations to vertex transformations and lightmap polling (two big parts of buildGeometry())

I test the mod and with fps on unlimited it goes from 807fps to 992fps which is +22% in a town build that uses a couple dozen campfires to make smoke from chimneys (Take this with a grain of salt though, the PC sample size is 1, my PC)

Why shouldn't it be in the modpack

It depends on the authors config library, fzzy_config which is 1.2MB, this could easily be shaded into the jar and have the unused code excluded by the author if they agree.

Additional details

No response

cochcoder commented 2 months ago

I did a few quick tests and found that I got a 10 FPS increase with this mod in the Hermitcraft Season 9 world and a 18 FPS increase in one brand new survival world. Overall, while there are improvements, I'm not sure how much of a noticeable difference it would make when you're not waiting for the FPS to stabilize. My hardware is a Intel i5-10210U CPU that uses Intel UHD Graphics.

10 FPS improvement in these areas: 1 2

18 FPS improvement in this area: 3

SergioK29 commented 2 months ago

I did a few quick tests and found that I got a 10 FPS increase with this mod in the Hermitcraft Season 9 world and a 18 FPS increase in one brand new survival world. Overall, while there are improvements, I'm not sure how much of a noticeable difference it would make when you're not waiting for the FPS to stabilize. My hardware is a Intel i5-10210U CPU that uses Intel UHD Graphics.

10 FPS improvement in these areas:

18 FPS improvement in this area:

These are pretty good gains, especially for such low-power hardware, but they will be even more noticeable if you try in a particle-dense area, try placing many campfires or visiting a build that uses campfires for chimneys of buildings.

cochcoder commented 2 months ago

I did some more testing and the results seem to be all over the place. I did two tests in super flat world with only campfires and I get negligible results with the normal and 96 FOV. While in a super flat world full of torches. I get a negligible difference with the normal FOV, but a ~13 FPS increase with a 96 FOV! (Which would explain why I didn't see a difference in the Nether's basalt biome)

This mod does seem like a good addition, with the knowledge that it won't increase FPS by a noticeable amount in all situations with particles. My only concern is with the separate config mod needed being so big and how it might affect memory. But besides that, I currently see no real issue with this mod.