Lag Issues - Forge 1.20.1
TheGameAce opened this issue · 16 comments
Sorry to be a bother. Not sure what to put down here since this is a bit more of a vague issue. I've been developing a modpack for a little while now and in my current playtesting I've found the dimension to be very laggy. Like dipping to between 40 and 60 FPS range on average, which is unusual. I recall performance previously being far more stable, even on an older PC. Keep in mind that 40 - 60 range is with the usual suite of performance mods, working to bolster an RTX 5070 + Ryzen 5 9600X combo.
Ironically, GPU usage in here is extremely low compared to the overworld.
I had an issue like this one time before, and I'd bet the same culprit this time around as well: Tectonic. I recall you put out a quick fix that compensated for Tectonic's issues a fair ways back, which resolved the majority of issues. I would presume it's the same problem cropping up again, especially since Tectonic updated more recently to backport the modern 1.21 version to 1.20.1.
Let me know if you need my logs or any more specific information to help you.
@TheGameAce /sparkc does exist but you need Spark to be running on the client side. Meaning in your mods folder on the client, not just the server. The render thread is only ran on the client to handle drawing on the screen which is why Spark needs to be on client before /sparkc shows up
It is very likely not tectonic. Tectonic only impacted Bumblezone a long time ago because I used some vanilla density function/noise files. I do not anymore and have my own copies of the file which prevents tectonic or any other overworld overhaul worldgen mod from impacting Bumblezone.
Second, the tectonic issue would impact worldgen speeds and maybe tps in weird scenarios because worldgen is ran on the worldgen threads, not the render thread.
What you should do is put on spark and have Spark profile the render thread and see exactly what is taking up your fps
Hmm, alright then. I was just going on what little I knew from prior issues. I ran a regular profiler but I can't seem to find the render thread one you're referring to.
Don't know if it matters, but there were 807 Rootmin accounted for by Spark. Regrettably I know virtually nothing else to look through in the basic report that I can think of that might have an impact.
I believe /sparkc is what you want
https://spark.lucko.me/docs/Command-Usage
The high amount of rootmins may be because you are near a floral meadow biome with a render distance set very high. Rootmins are common in that biome and spawn as part of the landscape, hidden as blocks
Also, if you are not using Embeddium/Sodium along with ImmediatelyFast/Iris, having those mods may help with entity rendering fps quite a bit as well. I can do an update to slightly improve Rootmin rendering but it won't be much.
But I still would like to see the client spark report to see if it is indeed your large render distance loading an excess of rootmins at once (which the other mods I mentioned would help with)
Pardon, my memory is poor in part to bad health and I forgot about this until now.
Tried /sparkc, wasn't a valid command. Looked over the command usage docs before you even mentioned it, and still didn't see anything in there talking about a render profiler.
I also do have Embeddium iirc, along with the usual suite of performance mods. Even at lower render distances, the problem seems to be about the same as well. While I was near a floral meadow, the issue extended well beyond that area in some testing I did the other day. Far enough that there were no local floral meadows I could see on the minimap, that'd have been in range of rendering.
I swear it wasn't actually giving me that before, but I managed to get it finally. Apologies, I've had a lot of little technical difficulties.
Here's the report I just got: https://spark.lucko.me/6xEafyQy4L
RenderDragonBannerProcedure is the one thing I notice in there, though I have limited idea of what I'm looking at.
It is on the client side, which is where I tested that command. Running it on a singleplayer world at present. I'll try again, but I haven't had any luck getting it to do anything.
Yeah it’s Block Factory Bosses by Unusual that’s tanking your fps. It is taking up a massive amount of time. It is also an Mcreator mod that was not built very well if it is doing this.
Disabling the mod should restore your fps. Reporting the issue to that modder may get them to fix their procedure
The mod name might be different. I think it is this mod: https://www.curseforge.com/minecraft/mc-mods/bossesrise
It is that mod. I decompiled it to look at its code and holy
Every single tick, it will iterate over ALL chunks in render distance, then grab every block entity in those chunks and iterate over those to check if dragon banner. And this is the bulk of the work eating up your fps. And this is all to just render the banner instead of using the BlockEntityRenderer like normal blocks do. So an incredibly inefficient way to render banners instead of using what vanilla already has
Made an issue report in their discord server:
https://discord.com/channels/697639441505845300/1413508837830295562
Oh dang, I normally avoid MCreator mods for reasons like that and missed the tag for it. Actually surprised it uses that given what's visible to the player at least looks so well done.
But yeah, that would explain why my FPS is tanking. I am curious why it seems to be happening specifically while in Bumblezone, though... I think I'll run a profiler in the overworld as well and see if it's having some impact there that I've not as of yet noticed. (I get a fairly consistent 200+ there normally, so if it's having an impact there as well I never noticed; baffles me why it would only seem to impact Bumblezone)
Addendum: I just finished running a profiler for several minutes in the overworld, and didn't get the same issue at all. No idea if that's valuable knowledge to you since that seems to specifically narrow it to Bumblezone (for the moment; haven't tested other dimensions like Aether or Twilight Forest quite yet), but just in case it helps for you to know. Adding the report here: https://spark.lucko.me/yXeqvY1tl9
Oh, I also wanted to thank you for teaching me about the existence and use of /sparkc for render profiling. Managed to find an issue with another mod thanks to it just a short while ago, which I probably would have never realized was there otherwise.
Gonna close this now. The dev on discord said they will fix the dragon banner rendering in their mod

