
ParticleCore
SergioK29 opened this issue ยท 4 comments
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
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.
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.
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.
I wanted to share my benchmark results even though they weren't the most intense test.
Test Methodology
I ran these tests using MSI Afterburner.
I made a minecart track that would loop around once over the particle section of this world. https://www.curseforge.com/minecraft/worlds/karaokes-ultimate-resource-pack-tester-map
I used particle core's default settings and disabled the fzzy config mod for the test without particle core.
Average of 4 tests:
With Particle Core | Without Particle Core |
---|---|
Average FPS: 199.1 | Average FPS: 181.9 |
Minimum FPS: 124.0 | Minimum FPS: 115.7 |
Maximum FPS: 313.9 | Maximum FPS: 269.8 |
1% low FPS: 52.2 | 1% low FPS: 47.5 |
0.1% low FPS: 48.9 | 0.1% low FPS: 43.3 |
Analysis
Average FPS: P9.5% improvement with Particle Core (199.1 vs 181.9).
Minimum FPS: 7.2% higher with Particle Core (124.0 vs 115.7).
Maximum FPS: 16.3% increase with Particle Core (313.9 vs 269.8).
1% low FPS: 9.9% improvement with Particle Core (52.2 vs 47.5).
0.1% low FPS: 12.9% better with Particle Core (48.9 vs 43.3).
Personal Notes
I agree with SergioK29 that it shouldn't be in the modpack because it depends on the fzzy config library, which is 1.2MB.
I had a smoother experience with this mod enabled.
System Specs
i7-12700k, RTX 3060, 32GB 3600MHz.
Raw Data collected from MSI Afterburner.
Particle Core Benchmarks.txt