
Bad performance of mana spreaders rendering.
Hunkarada opened this issue ยท 3 comments
Mod Loader
Fabric
Minecraft Version
1.20.1
Botania version
1.20.1-446
Modloader version
Fabric loader 0.16.9 | API fabric-api-0.92.3+1.20.1
Modpack info
No response
The latest.log file
Issue description
When you have wand of the forest in your hand - you can see preview of spreaders mana burst path. If you have many of spreaders in your base - you always will have HUGE lag, even if you don't look at such previews. Also, many mana spreaders can cause lag by itself, not as strong as in wand of the forest case, but if your base scales - it can become a trouble. Enabling in client config "particles"."powerSystem" makes situation with spreaders better, but you can barely see mana bursts (in my opinion, in optimized particles, there should be only main huge particles, not secondary mini particles, it makes them visible and reduce lag by making less particles in scene rendered, so it's win-win).
Screenshots for each situation here.
Scene without spreaders in real base
Scene with spreaders in real base
Scene with spreaders with Wand of the Forest
And empty scene without anything but stone as reference fps
All screenshots was made with enabled powerSystem in client config. (optimized particles)
Steps to reproduce
Other information
No response
Append - screenshot with fps without mana spreaders and without in-game FPS reducer.
What I'm trying to say is - in real world scenario in even little base scale you can feel lag caused by them. I don't have big base, but even by looking at munchdew contraption (1st and 2nd screenshots) I have 3-4x fps drop (they was made with fps limiter, so scene on 1st screen without it can be near 5th screenshot fps). And, forgot to say - I have "staticFlowers" enabled in client config, because, as in case of spreaders with wand in hand, it's HUGE performance drop because of animations of floating flowers. As I can assume - animation processed on CPU, because GPU gets less load with many animated flowers. Mana spreaders have animation of floating cubes inside them. Not sure that they are or not are main reason, just assumption, needs further investigation by profiler or something.
This has been a long-standing issue. Presumably the additional particles and checks to figure out burst movement are particularly taxing.
Fair warning, there might not be an easy way to solve this without potentially having to rewrite a lot of the burst simulation or visualization code. (That would be unlikely to still happen in the 1.20.1 version.)