Botania (Fabric/Quilt)

Botania (Fabric/Quilt)

5M Downloads

Performance Issues with Exoflame, Hopperhock, Mana Spreaders, Elven Portal

Luke616 opened this issue ยท 5 comments

commented

Hello,

I've been running a server for a modpack with Botania in it and have been periodically performing CPU time profiles using the mod LagGoggles. I've noticed certain aspects of Botania setups being consistently expensive, and was wondering if there was any optimization you could do. Blocks which are frequently taking up a disproportionately high amount of CPU time include the Exoflame, Hopperhock, Mana Spreaders, and the Elven Portal block.

Here are some images to demonstrate what I mean:
2019-02-13_05 36 34
2019-02-13_05 39 36
This is the absolute worst I've ever seen - usually exoflames cost around ~500us/tick after they are set up for a while which is still insanely high but this one block was singlehandedly responsible for around ~70% of the server lag that day.

2019-02-06_14 35 49
Here is an expensive Elven Portal, pretty much all of the elven portals I've seen set up have a disproportionately high CPU cost.

2019-02-06_02 48 08
2019-02-06_02 47 54
Hoping you could shed some light on this, I've noticed that some mana spreaders cost a high amount of CPU time but others work just fine. Not sure what is happening that causes some spreaders to cost ~5 us/t and others to cost ~500us/t, this is by far the most inconsistent but it seems every botania setup I've come across has one or two extra laggy spreaders.

I understand that its likely that there is little you could do about this in the short-term, but I was hoping that bringing these performance issues to your attention might give you some indication as to where the mod could be better optimized in the future.

Thanks!
-Luke616

Version Information

Forge version: 14.23.5.2808
Botania version: r1.10-359

Further Information

Link to crash log: n/a
Steps to reproduce:

  1. Download Botania and a profiler of your choice
  2. Make various botania setups
  3. Profile CPU load to see what processes are using a lot of memory
commented

While LagGoggles is a fantastic tool for identifying issues, it's not really a substitute to a providing a profiler report. Could you provide one?

Either a VisualVM profiler snapshot (can be created with Player's Sampler mod or with VisualVM itself), or a report link from the spark profiler would be fine.

For Spark, /spark start --timeout 60 --include-line-numbers, optionally with a lower interval, would be a nice starting point. For Sampler, /sampler start, then after a while /sampler stop and /sampler export, then providing the report here.

commented

Oh, thanks for showing me these tools - been mourning the fact that I couldn't profile with VisualVM itself since my server is offsite and did not realize there were tools to generate snapshots. I'll get you a proper profile report when I get a chance

commented

Alright, here's a snapshot. Hoping you can get some good info out of it, I did a profile using laggoggles right before and botania stuff really wasn't lagging as hard as it has in the past but there are certainly some hits.

sampler-snapshot.zip
2019-02-14_02 47 16
This screenshot is from the laggoggles profile I took immediately before using sampler. I sampled for roughly 30 seconds. The 3 TileSpecialFlowers you see at the top all pointed to Pure Dasies in different people's homes, each were already surrounded by 8 livingwood/livingstone which had yet to be removed. The TileFloatingSpecialFlowers were all exoflames, I've seen them reach much higher CPU time than in the profile above but hopefully this helps somewhat. Next time I see an exoflame flip out like in the screenshot from the main post I'll be ready with sampler installed to catch it for you though!

Thanks again for looking in to this!

EDIT: Did some more messing around with LagGoggles today, can confirm that removing the livingwood/stone from around a pure daisy and having the 8 surrounding blocks be air cuts the CPU time usage of the flower from ~150us/t to ~3us/t. I also have a screenshot of another mana spreader setup which started ticking extra hard, not sure what about this particular setup is doing it but it anecdotally seems that all the extra-expensive spreaders I come across are a part of endoflame setups.
2019-02-14_13 06 06

commented

This issue is stale because it has been open for a while with no activity. Remove stale label or comment or this will be closed soon.

commented

UP