Enigmatica 2: Expert - Extended

Enigmatica 2: Expert - Extended

194k Downloads

[Performance Mod Suggestions]

evanbones opened this issue · 9 comments

commented

https://www.curseforge.com/minecraft/mc-mods/sneedasm (may need some testing, could have some potential issues? very promising though)
https://www.curseforge.com/minecraft/mc-mods/tinkers-oredict-cache (massive tinkers' speedup!)

commented

Testing LoliASM, got crash LoliKingdom/LoliASM#53

commented

@Krutoy242 I can confirm that LoliASM/SneedASM provides noticeable benefits to RAM usage, however, it will not be as noticeable for those who use large heaps (4/8GB).

Case in point: I have a private, handmade 1.12 modpack with all of the major tech mods included (Mekanism, EnderIO, Thermal, Buildcraft, Tinkers, etc.). Before, this pack used to require 2.5GB/3GB of RAM to just barely run, and this was after tweaking mod configs to reduce RAM requirements as much as possible.

However, with LoliASM installed, I can comfortably run a singleplayer world with only a 2GB heap. This is not something that just about any 1.12 modpack you download off CurseForge would be capable of.

Intensive tasks like moving between dimensions frequently can start to cause issues, however, it is very stable so long as you stick to one or two dimensions, and the base RAM usage is definitely a lot lower. With a 3GB heap all of those issues are pretty much gone. That is still a lot lower than the 6 or 8 GB often being recommended to new modded players in spaces like r/feedthebeast.

I am not sure if there are any performance improvements as that wasn't something I was really looking for.

commented

sneedasm

When i tested this mod i didn't notice any changes. This was probably because i don't have enough tools to measure speed / ram usage. I would like if someone would test it and say is it actually speeding up anything.

Also, its really lack of description. Barely all its have on curseforge is "its performance mod" and that it. I want to know what and how it speed up.

tinkers-oredict-cache

This was my first place wish list, and most likely was made by my request. So, ofc i would install it, its like it was made for E2E-E.

commented

re, this pack used to require 2.5GB/3GB of RAM to just barely run
with LoliASM installed, I can comfortably run a singleplayer world with only a 2GB heap.

How do you know that?
I play with 8 GB allocated, but, how i could know this enough?
My friend plays with 5 GB, and how can he know is this enough?

commented

I reopen this issue because still don't know how to measure how good LoliASM is.

commented

A lot of this is not official advice, it's just what I've learned/figured out from researching how Java works, collecting and analyzing a lot of heap data, and spending months trying to squeeze 1.12 into the smallest memory footprint possible. It's a pet peeve of mine that modded needs/is presumed to need so much RAM, and also some of the people I play with do not have large amounts of RAM available.

So, to answer your question is a bit complicated without getting into Java technicalities, but if you look at the Mem: info in F3 on the top right, you will see it continuously going up and coming back down to a base value. If you keep track of the base values as you fly through new chunks/do something intensive, or install Spark and run /spark heapsummary to force a full garbage collection, you will notice that there is a certain lowest point which it reaches, and you never see it dip below that. In my case, it's about 1400MB. That is the base amount of memory which the game will consume no matter what, used by textures, block models, recipes, loaded chunks, etc.

(The reason the value you see when you first start the game is not accurate is that there is often garbage leftover in the heap from launching which can be discarded when necessary. This is why it's necessary to track the value over time and/or use a tool which shows you more technical info which you can use to calculate it.)

The remaining amount in the heap is left for gameplay activities. You want to try and keep a decent margin between these two. In my case, a 2048MB (2GB) heap means that there's about 600MB of memory left. This is the bare minimum you will need for a playable experience, however, you need more especially if you're going to be in singleplayer and doing some heavy automation. 2.5GB-3GB is plenty for my modded client as I usually run a dedicated server anyways

The average modpack often has about 3 or 4 GB of that base amount of data I described, so it makes sense that 5 GB would be enough for your friend.

If you would like, I can do some measuring with E2E-E with and without LoliASM and see what the RAM usage is like.

Allocating extra memory is not harmful (to a point), but it's also not always needed.

I also do things like use Fast graphics, turn off mipmaps, use a lower render distance like 5 or 6 (as I patched the mob spawning issues with lower render distances), and so forth. So anyone using shaders or high render distances will almost certainly need more RAM than I would.

commented

turn off mipmaps

This simple advice actually increased my performance. I though Mipmaps don't cause lags.

I can do some measuring with E2E-E with and without LoliASM and see what the RAM usage is like.

This would be cool!

I did some what i could do myself too.
Playing on server right now. No LoliASM installed.
This is F3 info:

And this is /spark heapsummary result: https://spark.lucko.me/kksvmxyRjC

Seems like it shows only server info.

Update 1: single player world:

Update 2:
Single player dump WITH LoliASM

commented
commented

Eah, and now i could play with 6GB too.
So, worst to use. Thanks for measurements, they help me to decide!