SRM using a lot of resources when just being idle
MarijnIsN00B opened this issue · 10 comments
Mod loader
Forge
Minecraft version
1.20.1
Mod version
10.2.7
Modloader version
47.2.0
Modpack info
https://legacy.curseforge.com/minecraft/modpacks/natures-journey-beyond-the-horizon
If bug:
- Can you reproduce this issue with relevant mods only?
If bug: The latest.log file
Issue description
Using spark I saw Snow Real Magic using about 10% of resources just while being idle in game.
https://spark.lucko.me/sJgnGsVpDC
I experienced similar issue
My modpack is a custom one
Here is a mod list of what we have in common
[✔] AchievementOptimizer-1.20.1-1.0.2
[✔] AI-Improvements-1.20-0.5.2
[✔] alternate_current-mc1.20-1.7.0
[✔] architectury-9.1.1@-forge
[✔] badpackets-forge-0.4.3
[✔] BetterAdvancements-1.20.1-0.3.2.162
[✔] Bookshelf-Forge-1.20.1-20.1.@
[✔] bushierflowers-0.0.3-1.20.1
[✔] citadel-2.5.3-1.20.1
[✔] Chunky-1.3.@@@
[✔] cloth-config-11.1.118-forge
[✔] Controlling-forge-1.20.1-12.0.2
[✔] create-1.20.1-0.5.1.f
[✔] cristellib-1.1.5-forge
[✔] curios-forge-5.@.@+1.20.1
[✔] deeperdarker-forge-1.20.1-1.2.1
[✔] emi_loot-0.6.5+1.20.1+forge
[✔] emi-1.1.@+1.20.1+forge
[✔] emiffect-forge-1.1.2 mc1.20.1
[✔] emiffect-forge-1.1.2+mc1.20.1
[✔] emissive-plugin-1.20.1-2.0.4-forge
[✔] emitrades-forge-1.2.1 mc1.20.1
[✔] emitrades-forge-1.2.1+mc1.20.1
[✔] entityculling-forge-1.6.2-mc1.20.1
[✔] FastFurnace-1.20.1-8.0.1
[✔] FastSuite-1.20.1-5.0.1
[✔] FastWorkbench-1.20.1-8.0.2
[✔] FastWorkbench-1.20.1-8.0.@
[✔] ferritecore-6.0.1-forge
[✔] geckolib-forge-1.20.1-4.4.@
[✔] ImmediatelyFast-Forge-1.2.@@+1.20.4
[✔] Kiwi-1.20.1-forge-11.5.3
[✔] kotlinforforge-4.@@.0-all
[✔] letmedespawn-forge-1.20.x-1.2.0
[✔] lithostitched-forge-1.20.1-1.1.@
[✔] memoryleakfix-forge-1.17+-1.1.5
[✔] modernfix-forge-5.1@.@+mc1.20.1
[✔] moonlight-1.20-2.@.@@-forge
[✔] NaturesCompass-1.20.1-1.11.2-forge
[✔] NoChatReports-FORGE-1.20.1-v2.2.2
[✔] Nyctophobia_1.6_(FORGE)_for_1.20
[✔] Placebo-1.20.1-8.6.@
[✔] player-animation-lib-forge-1.0.2-rc1+1.20
[✔] [email protected]
[✔] RegionsUnexploredForge-0.5.3.1+1.20.1
[✔] saturn-mc1.20.1-0.1.@
[✔] Searchables-forge-1.20.1-1.0.2
[✔] SnowRealMagic-1.20.1-forge-10.2.7
[✔] snowundertrees-1.20.1-1.4.3
[✔] spark-1.10.53-forge
[✔] supplementaries-1.20-2.7.@6
[✔] tectonic-mod-1.19.3-v2.2
[✔] TerraBlender-forge-1.20.1-3.0.1.@
[✔] Towns-and-Towers-1.12-Fabric+Forge
[✔] twigs-1.20.1-3.1.0-forge
[✔] YungsApi-1.20-Forge-4.0.@
[✔] YungsBetterDesertTemples-1.20-Forge-3.0.3
[✔] YungsBetterDungeons-1.20-Forge-4.0.3
[✔] YungsBetterEndIsland-1.20-Forge-2.0.@
[✔] YungsBetterJungleTemples-1.20-Forge-2.0.4
[✔] YungsBetterMineshafts-1.20-Forge-4.0.4
[✔] YungsBetterNetherFortresses-1.20-Forge-2.0.5
[✔] YungsBetterOceanMonuments-1.20-Forge-3.0.4
[✔] YungsBetterWitchHuts-1.20-Forge-3.0.3
[✔] YungsExtras-1.20-Forge-4.0.3
I have replace some caractère with @ as I have newer version of mod and I wanted it easier for you to see which difference it could make
In my experience internal server tick could raise up to 1300ms ticks time when loading new snowed chunk but usually in idle we are about 30~ when usually i'm around 7 without snow to be sean
With "observable" mod, region around snowed tree seems to be particularly subject to this issue but in the other end being idle in region without tree as similar tick time
what i have observed is that my log are spam with [Server thread/WARN] [minecraft/LevelChunk]: Tried to load a DUMMY block entity @ BlockPos{x=-468, y=155, z=614} but found not block entity block Block{minecraft:snow}[layers=1] at location
I hope this insight could help pin point the issue I really like your mod and I realy which I could include it to my modpack
Methodology: I make a fresh install of the culpitre modpack once for all the testing but I recreat world for every test
I equip myself with Biome Compass I'm looking for Tree with snow
I make at least one test with Observable and Spark around tree while punching snow and zombie randomly
First test whitout Chunky
Observable:
https://o.tas.sh/#rODL1
https://o.tas.sh/#yMOoE
Spark:
https://spark.lucko.me/w9ST9FL8n8
https://spark.lucko.me/HKeYssutfm
2nd test with Chunky, without immersive snow as it seems to be an issue:
Observable:
https://o.tas.sh/#dY6od
Spark:
https://spark.lucko.me/xvN5hngxXW
https://spark.lucko.me/LAjtwJiCJt
3rd test without Chunky or Immersive snow:
Observable:
https://o.tas.sh/#yMOP3
Spark:
https://spark.lucko.me/qX0yPuvB0t
https://spark.lucko.me/L10GThM5ef
Log always mention [Server thread/WARN] [minecraft/LevelChunk]: Tried to load a block entity for block Block{minecraft:snow}[layers=1] but failed at location BlockPos{x=@@@, y=@@@, z=@@@}
with Chunky
For more opinionated observation
Ms ticks are higher around snow in every case but way more acceptable in 2nd and 3rd test
Randomly attacking zombie and snow always make the server stutters but in first scenario I could wait sometime several second before entity get affected by my hit making it from unsatisfying experience (2nd/3rd) to unplayable (First)
If you think I can improve my feedback so its more usefull for you don't hesitate to explain me how
Here is my best attempt for now
Thanks for your consideration and time
The max MSPT is the issue. Add spark arg --only-ticks-over 50
to command any provide new result
Instruction was not clear enough I put my hand in a paper shredder
Well if they need it I will redo it with the right command ahah, thanks for the suggestion I will do it ASAP
And thanks for your kindness and time, it was a pleasure to exchange with you
Before you read all of the testing the issue seems to come from Immersive Snow in my case as not loading SRM at all still triggered the high lag issue. When I first encounter the issue I notice the log warn and as you will see, the warn is connected to SRM but the lag spike are not. When I first try to reproduce issue and come here the presence of warn with and without Immersive Snow and the related alreading existing opened issue here and 0 in the other hand for immersive snow reinforced my confirmation bias
I can say with a lot of certainty that my original issue need to be adresse to Immersive Snow author but I wait on your suggestion before I bother someone else to quickly
Using the argument --only-ticks-over 50
did fix the fight around zombie when Immersive snow was not enable nice troubleshooting @SettingDust
When immersive snow was enable nothing could be done tho, the server always spiked. It feels like it was even near to crash at time
I hope that these data are still valuable for you in a way or another and that at least it will innocente a lot of mod for compatibility issue for this opened issue at least
Here is the new batch of testing
Legends:
1=Yes 0=No
Warn snow= Presence of multiple [Server thread/WARN] [minecraft/LevelChunk]: Tried to load a DUMMY block entity @ BlockPos{x=@@@, y=@@@, z=@@@} but found not block entity block Block{minecraft:snow}[layers=1] at location
in log
===================
Methodology:
I use the fresh install I previously made for testing with the same culpitre modpack
I launch the game and delete previous world to load a new one
(once for the batch of testing) I run /spark --only-ticks-over 50
I give myself nature compass via creative in game panel
I run / spark profiler start
I search for "snow" in nature compass GUI I select Snowy Slopes then I reopen the GUI to teleport to it
I explore snowy surface until I can found a village and a tree cluster (if it was subjectively qucik to find I load a subjective amount of additional chunk)
I place myself in the laggiest snowy place I can find and summon and zombie. I hit him and hit surrounding snowy block with left and right click
I stop spark profiler I summon a new zombie I run an observable for 20 while doing similar fight behavior
I alt+F4
I copy and past there related information
I relaunch the game with different mod enable or disable (see the provided information) I repeat the step until the batch of test is done then I kill more zombie for sadistic reason
===================
1. Chunky 1 Immersive Snow 1 SRM 1
Spark:
https://spark.lucko.me/S3eGMw9ydh
Observable:
https://o.tas.sh/#Eb7Q5
Log:
Warn snow 1
FirstTest.txt
2. Chunky 1 Immersive Snow 0 SRM 1
Spark:
https://spark.lucko.me/8XgNB5Ct8Y
Observable:
https://o.tas.sh/#dY6q4
Log:
Warn snow 1
2ndTest.txt
3. Chunky 0 Immersive Snow 0 SRM 1
Spark:
https://spark.lucko.me/ZTHwYqwJKo
Observable:
https://o.tas.sh/#rODZk
Log:
Warn snow 1
3Test.txt
Exceptionally additional test:
Spark:
https://spark.lucko.me/Cx83hy0y23
Observable:
https://o.tas.sh/#KdP7X
(didn't find village structure at first so I made the first test then parkour way more to find structure village to make test with more parity but in the end as way more chunk was load I didn't know if which one would be the more interesting so I provide both anyway)
4. Chunky 1 Immersive Snow 1 SRM 0
Spark:
https://spark.lucko.me/7GFgiXAX84
Observable:
https://o.tas.sh/#mpVpq
Log:
Warn snow 0
4Test.txt
Additionally test with --only-ticks-over 150 (I don't know feel it could be useful to test as I was already on this config)
Spark:
https://spark.lucko.me/vsXDmN3hc3
No snowy village structure where to be found but it was a mess anyway I didn't feel like loading this kind of structure would be usefull anyway to innocent SRM of anywrong
After all this testing it seems that SRM is really about magie after all
Thanks for your help in the troubleshooting
I think the command should be /spark start --only-ticks-over 50
XD
immersivesnow is taking MSPT since it's updating bunch of blocks' states when loading chunks.
I would suggest you open an issue on their Github and let them point out the possible reason.
@zoqin Thank you for your excellent experiments! Your problem looks like it is mainly because of Immersive Snow. But I think I have now fixed all the log spam caused by SRM. Unfortunately, it can still produce log spam due to some bugs in vanilla Minecraft. It's harmless and I have now muted it by default.
I have forward the issue on Immersive Snow
Your effort on improving mods goes above and beyond, I won't miss the opportunity to install the new release for the best experience
I'm so glad that you appreciated my experiments and that it help improve this awesome mod that i really want to share with my friends, have a nice day