BCLib

BCLib

31M Downloads

[Bug] Completely bonked chunk load-times when installed with terralith.

alkerss opened this issue ยท 8 comments

commented

What happened?

Apologies for the cross-post on BCLib BetterNether and BetterEnd Github's. Did it, since I don't know where the issue lies.
And I would've informed Terralith as well, but they don't appear to have a Github issues page.

Trying to put a long story short. Many hours were spent debugging chunks loading incredibly slowly when flying around in creative. And I managed to narrow it down to BCLib + BetterNether + BetterEnd in combination with Terralith.
I can't say where the issue lies exactly because the issue persisted with BCLib + BetterNether and BCLib + BetterEnd but not with just BCLib, though I'd assume that might be because BCLib isn't trying to do anything with biomes, perhaps, so even though the bug might be in BCLib, it doesn't show, since BN or BE aren't present shrug, but I digress.

I also tested combinations with BCLib + BetterNether and BetterEnd
+Incendium
+Nullscape
+Oh the Biomes you'll go
+Cinderscape
and maybe some others that I'm forgetting. But none of them have this issue, it was only Terralith. I also tested Terralith 2.3.3 and 2.3.4. The bulk of testing was with Terralith 2.3.5 however. but all had the same issue.
The issue even happens when just Terralith + BCLib + BE or BN are installed.

Anyway. Summary of the ISSUE:
Start game
Create a new world (default or BetterX, doesn't matter)
(In the Overworld) Creative fly with sprint and watch your chunk loading come to a crawl.
(For testing I used 8-chunk render distance and flew around at 200y every time and just flew in a straight line till approx 5000 blocks away from spawn for the sake of consistency.)

Without Terralith but with BCLib, BN + BE OR Without BCLib, BN + BE but with Terralith
The chunks simultaneously being loaded while flying full speed (with sprint) would never dip below 310chunks (max being around 330ish with 8render dist)
However, as soon as you load the full combo of Terralith + the B B B the chunks loaded would consistently 10/10 times tested start slowly but consistently drop from sitting at around 300 to 10 seconds later sitting around 260 to 10 seconds later 220 etc, etc and often bottoming out at around 60-80 at which point chunks rendered weren't even bellow the player but lagging behind.

Doubt this is relevant info, but in case it is.
PC specs:
2080ti
ryzen9 5950x
64gb ddr4
8GB allocated to the game (Yeah I know, too much, but I'm testing a modpack with 200-400 mods at any given time, so it needs it, and it didn't occur to me to reduce the ram to remove a variable during this testing.)

Apologies if anything comes off in a weird way. I'm quite frustrated after my many hours of debugging my modpack, and while I'm relieved to have finally figured it out definitively. I am very frustrated to find out that the issue is between Terralith and the Tripple B's. Neither of which I'm willing to put on the chopping block.

BCLib

2.1.4

Fabric API

0.66.0+1.19.2

Fabric Loader

0.14.10

Minecraft

1.19.2

Relevant log output

No response

Other Mods

Terralith
commented

This is the same exact problem i am facinga s im also testing a 400 mods modpack.
My specs are almost the exact same as yours.

Chunk loading and generating is the main crux right now and ive noticed the same issue appear WITHOUT Terralith too.

When every bclib/betterx mod is removed chunkloading goes back to normal and fast.

I think it has something to do with datapack compatibility as Tectonic seems to have the same issue for me.

Other packaged mods like William Wythers Overhauled Overworld works fine and generates as fast as it should.

commented

Hi, and thanks for reporting (and most of all taking the time measure) this.

From what I am reading, I am not sure in which dimension you did measure this. Terralith (as far as I remember) does not affect the Nether/End, while BN/BE (should) only have an impact in the Nether/End.

However, BE (for example) adds around 400 unique Landscape-Features to the registry (along with 25 Biomes and 40 Structures). Terralith will have an even larger set of biomes/features and structures that will get added. So while you dod have assigned 8GB to the game, my first (very simple guess) would be a memory issue, as it would explain why the overworld slows down.

As I said, this is just a guess, but could you try using 16GB or 12GB?

commented

Hehe, no. But it is an indication if we are memory bound.

commented

I mean 12 GB RAM cant be expected when a player wants to play your modpack.

commented

So yeah, the testing was done in the overworld as I stated in the bug-report. something relevant to note.
The stuttering is not an issue when bclib +BN +BE are not installed and terralith+ everything else is. but is imediately present when bclib +BN +BE are added.
And inversely, if bclib +BN +BE are installed, but not terralith. and any other combo of stuff is added. the issue isn't present.
Only when bclib +BN +BE and terralith are present does it happen.
I will run some tests with more ram later. But I think I might've already tested it with 16gb at one point and found the same issue. But I will re-test when I have a moment.

commented

Hehe, no. But it is an indication if we are memory bound.

So I tested 8gb, 12gb, 16gb and even 32gb just for good measure. None of which changed anything.
Terralith by itself = no problem
BClib by itself = no problem
BClib + BN + BE = no problem
BClib + BN + BE +Terralith = problem
and to restate. the chunk loading issue is present in the OVERWORLD. not the nether, or end. I don't even know why the issue would be in the overworld, considering that Bclib should primarily be affecting the nether and end.
Also, it doesn't matter if you use BetterX world type or default. both experience the same issue when B+B+B+Terralith are present

commented

I talked with the terralith developers and they said it is not an issue with Terralith and is specifically an issue here. So they can't fix it. Here is some info that may be useful.

Terralith is a datapack
Terralith uses Vanilla Minecraft Generations Code

commented

Duplicate of #81