Snow! Real Magic! ⛄ (NeoForge)

Snow! Real Magic! ⛄ (NeoForge)

40M Downloads

SRM using a lot of resources when just being idle

MarijnIsN00B opened this issue · 10 comments

commented

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

https://mclo.gs/f8WzdBr

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

commented

There is too little useful information. My guess is Chunky

commented

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

commented

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

commented

The max MSPT is the issue. Add spark arg --only-ticks-over 50 to command any provide new result

commented

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

commented

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

commented

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.

commented

@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.

commented

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

commented

please make sure you can reproduce this issue with relevant mods only