Performance expectations

Currently running Forge 1.20.1 DH 2.1.0-a-RC1 Oculus 1.6.15a Complementary Shaders r5.2 Dev10 on settings Medium (plus 4 block coloured lighting turned on) Render distance 16 Mizuno 16 texture pack JVM argument: -Xmx12G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:MaxGCPauseMillis=37 -XX:+PerfDisableSharedMem -XX:G1HeapRegionSize=16M -XX:G1NewSizePercent=23 -XX:G1ReservePercent=20 -XX:SurvivorRatio=32 -XX:G1MixedGCCountTarget=3 -XX:G1HeapWastePercent=20 -XX:InitiatingHeapOccupancyPercent=10 -XX:G1RSetUpdatingPauseTimePercent=0 -XX:MaxTenuringThreshold=1 -XX:G1SATBBufferEnqueueingThresholdPercent=30 -XX:G1ConcMarkStepDurationMillis=5.0 -XX:G1ConcRSHotCardLimit=16 -XX:G1ConcRefinementServiceIntervalMillis=150 -XX:GCTimeRatio=99 System specs: 7800X3D CPU 4070TI card 32GB RAM 3440 x 1440 resolution With DH turned on and all world generation tasks done (though currently set to Low Impact), I'm getting around 70-80 FPS, with regular dips as low as 30. With everything exactly the same but DH disabled, I'm getting closer to 160. See screenshots attached. Wondering if this is around what I should expect? Other people seem to be getting much higher FPS on less powerful systems, so I'm wondering if there's something I could optimise. It seems like a very high performance hit considering there are no world generation tasks running.
No description
No description
104 Replies
Certified P. Drizzy
what dh settings the lag spikes most likely due to gc, you can switch to shenandoah or zgc instead if you dont wanna switch, lower ram allocation to between 4-6gb instead
Hencoat
Hencoat3mo ago
I tried the shenandoah settings once but I was getting 10FPS for some reason. But I'll give it another try
Mati
Mati3mo ago
get oculus 1.7.0 also get newer distant horizons version from #links-n-downloads
Hencoat
Hencoat3mo ago
Okay yes I'm going to say Shenandoah doesn't agree with my system
No description
Hencoat
Hencoat3mo ago
0 to 9 FPS I was attempting to use Oculus 1.7.0 earlier, but my LODs weren't even rendering at all https://discord.com/channels/881614130614767666/881614131877269586/1236602151338508358 Only got them to display once I downgraded Also my quality preset is on High and I haven't touched any individual settings
Miki_P98
Miki_P983mo ago
From my experience the mere existence of DH causes big performance drop, but if you have DH, you can first decrease vanilla render distance to match vanilla performance and increase DH render distance to e.g. 512 for free
Hencoat
Hencoat3mo ago
Drat, I dunno how other people are getting such better frame rates.
TheNewSky
TheNewSky3mo ago
Turn off distant generation while playing or turn down cpu impact if you haven’t already And download a monitoring software like rtss or something else to see your cpu and gpu usage Otherwise there’s no way to know what the problem is
Hencoat
Hencoat3mo ago
My CPU impact is set to minimal, and I left it running for long enough that there is no world generation in progress You can see in the screenshot that it's World gen tasks 0/0 (0 in progress) I'd expect some slowdown while it's generating, but it seems odd that my FPS is halved even when DH isn't generating lods But maybe it's my expectations that are wrong
TheNewSky
TheNewSky3mo ago
Get a software to look at gpu and cpu utilization
Hencoat
Hencoat3mo ago
I've done that, but it doesn't really mean much to me
Hencoat
Hencoat3mo ago
No description
Hencoat
Hencoat3mo ago
No description
Hencoat
Hencoat3mo ago
Should mention that the columns are Current, Minimum, Maximum and Average
TheNewSky
TheNewSky3mo ago
Is that while playing the game? Gpu and cpu usage looks low
Hencoat
Hencoat3mo ago
Yeah that was during a play session I dunno what's normal, but it doesn't look like everything is constantly maxed out while playing or anything I was watching it while I was running around getting 70FPS. CPU usage stayed around 20% with distant generation off. GPU usage anywhere between about 40 and 70% CPU goes up to 100 if I turn on distant generation + maxed setting, but I'm guessing that's expected
TheNewSky
TheNewSky3mo ago
Yea But gpu usage shouldn’t be low if cpu usage is also low What’s your memory speed?
Hencoat
Hencoat3mo ago
Ermm DDR5. 6000 MT/s 32GB
TheNewSky
TheNewSky3mo ago
Is it actually running at that speed? I can’t really see why else your gpu would be underutilized Although ig you should test a separate instance with just distant horizons and shaders and none of the other mods to see if it’s just the result of some weird incompatibility And also try with the default jvm arguments to see if those somehow make a difference Also maybe update gpu drivers
Hencoat
Hencoat3mo ago
GPU driver is up to date, so definitely not that The JVM arguments are a weird one. I dunno why Shenandoah or the other one tank my frame rate. Doesn't seem normal. Shenandoah literally gives me 0 FPS
TheNewSky
TheNewSky3mo ago
Yea that shouldn’t happen I do get bad performance with zgc when my memory allocation rate is high enough But it has to be a few thousand MB/s
Miki_P98
Miki_P983mo ago
Minecraft isn't the best optimised, if its witout shaders of 20 other performance mods I would consider this normal. Remember that vanilla Minecraft can struggle with fps while only consuming 10% CPU and 5% GPU Shenandoah and Z tries to run in the background alongside your game, while G1 (default) stops your game during cleanup (stutter). Such big performance drop propably means some system incompatibylity. Try updating your JAVA (e.g. with adoptium open jdk)
Hencoat
Hencoat3mo ago
https://adoptium.net/ This is the one I've got at the moment
Home | Adoptium
Eclipse Adoptium provides prebuilt OpenJDK binaries ...
Miki_P98
Miki_P983mo ago
Do you have the latest version of it?
Hencoat
Hencoat3mo ago
21.0.3.9 Which appears to be the latest release Although now that I think of it, I'm not convinced minecraft is actually using it Since my F3 seems to say I'm using Java 17
Miki_P98
Miki_P983mo ago
Make sure XMP is enabled, restart your PC and try again using "ZGC"
Hencoat
Hencoat3mo ago
Sorry, what is XMP?
Miki_P98
Miki_P983mo ago
Search your installed apps with keyword "Java" and "JDK"
Miki_P98
Miki_P983mo ago
pcgamer
What are XMP and EXPO profiles and how do I use them?
XMP and EXPO profiles automatically set your system RAM to higher frequencies. Here's how to do it.
Miki_P98
Miki_P983mo ago
Sometimes custom launcher download JDKs by itself you can check settings to assert path to correct java version
Hencoat
Hencoat3mo ago
My installed apps say I have java 17 by oracle
Miki_P98
Miki_P983mo ago
You can try uninstalling that, and in worst case you can install it back later
Hencoat
Hencoat3mo ago
If I set the Adoptium java in my launcher, should that make it launch with the correct version?
Hencoat
Hencoat3mo ago
No description
Miki_P98
Miki_P983mo ago
probably
Hencoat
Hencoat3mo ago
Would you happen to know the full string I should put in my java arguments? I see to get a lot of "error 1" when I try to follow the instructions
Miki_P98
Miki_P983mo ago
I think the path should be to "javaw.exe" file or something like that
Hencoat
Hencoat3mo ago
Yep that part is fine
Miki_P98
Miki_P983mo ago
e.g. "C:\Program Files\Eclipse Adoptium\jdk-17.0.8.101-hotspot\bin\javaw.exe" I think
Hencoat
Hencoat3mo ago
I know the java argument is meant to have my RAM allocation and also something about experimental options, and then something about garbage collection If I understand correctly I THINK I am trying:
Miki_P98
Miki_P983mo ago
This is how it looks on modrinth:
No description
Hencoat
Hencoat3mo ago
-Xmx12G -XX:+UnlockExperimentalVMOptions -XX:+UseZGC -XX:AllocatePrefetchStyle=1 -XX:-ZProactive enables it, but allocate more RAM and more ConcGCThreads Yeah see I just can't get it working
Miki_P98
Miki_P983mo ago
Note that this arguments are old, and not good enought anymore
Hencoat
Hencoat3mo ago
No description
Miki_P98
Miki_P983mo ago
I can't help you right now, but good luck
Hencoat
Hencoat3mo ago
Thanks for the help anyway
cola98765
cola987653mo ago
Oculus 1.7 Embedium as fabric + indium port And shaders from that github gist pinned in #general
Hencoat
Hencoat3mo ago
Yep I have all of those I can launch fine when I set my java arguments to default
cola98765
cola987653mo ago
On my 4060 I get ~60 FPS with default bliss withr real terrain mattering much more than DH
Hencoat
Hencoat3mo ago
So the answer may just be that my performance is normal
Hencoat
Hencoat3mo ago
Lol this sure ain't normal. I wonder how this happened.
No description
cola98765
cola987653mo ago
Shaders always were power hungry Monoliths are whsn you remove mods
Hencoat
Hencoat3mo ago
That's valid, I did remove some stuff trying to improve performance Guess I can just regen my lods
cola98765
cola987653mo ago
And now that shaders also add some shadows in DH area too yohr performance will dip
Hencoat
Hencoat3mo ago
I actually think the performance is a little better without those mods though Maybe it's placebo but I'm getting around 120 in the same area I was getting 90
cola98765
cola987653mo ago
Ere you cheching if you had 100% GPU usage before?
Hencoat
Hencoat3mo ago
Well my GPU usage is almost always 100% in the F3 menu But the monitoring software seems to suggest it's not that high in reality
cola98765
cola987653mo ago
Hwinfo screens said 70%
Hencoat
Hencoat3mo ago
Yeah
cola98765
cola987653mo ago
Whats your real rd
Hencoat
Hencoat3mo ago
Pardon?
cola98765
cola987653mo ago
Fatfingering a lot
Hencoat
Hencoat3mo ago
Haha What does rd stand for?
cola98765
cola987653mo ago
Render distance
Hencoat
Hencoat3mo ago
Ohhh Ermm anywhere between 10 and 16 I don't go crazy with it
cola98765
cola987653mo ago
Vanilla is super CPU limited Try idk... 8
Hencoat
Hencoat3mo ago
I'll give it a go Distanthorizons.sqlite in Data is the file I need to delete to regen my lods, right?
cola98765
cola987653mo ago
Or go crazy and see how your fps and gpu usage is with rd of 2
Hencoat
Hencoat3mo ago
Gonna leave it alone to regenerate "aggressively" for a while
TheNewSky
TheNewSky3mo ago
Vanilla Minecraft can’t use all your cpu cores so you’re still cpu limited even if overall cpu usage looks relatively low But on a 7800x3d with all those performance mods it shouldn’t really be an issue
Miki_P98
Miki_P983mo ago
I would say its more a code limit then CPU limit depends on exact function and use case, but for Vanilla Minecraft it's definitely a code limit/engine limit
TheNewSky
TheNewSky3mo ago
It’s a cpu limit bc it’s written poorly
Miki_P98
Miki_P983mo ago
that's not true. Chunk loading may use 100% CPU but when you just sit next to some animal farm Minecraft will still use mostly one core (exception is mod MCMT, but it is really unstable) technicaly it is a CPU limit, but when casual person hears cpu limit they think the cpu is to slow, not that the programmer wrote bad code that's why I would argue "code limit" fits better
TheNewSky
TheNewSky3mo ago
Idk if every scenario I’ve tested it in just happens to use multiple cores but with performance mods I haven’t seen it only use one core
Miki_P98
Miki_P983mo ago
not only one, but mostly one, and definitely not all of them (at least with count 32) while e.g. standing in place after the world loads in DH though uses all of my CPU without any problems
Hencoat
Hencoat3mo ago
I removed Ice and Fire and Dungeons Arise, reset my java arguments to default, and turned render distance down to 12. With all that, and world gen off, I'm sitting around 110-130, which seems not tooooo bad?
No description
Poob
Poob3mo ago
lol what kind of performance are you expecting? that seems pretty good if i say so
Hencoat
Hencoat3mo ago
Mainly it's just the drop-off between Distant Horizons installed vs Distant Horizons not installed. Seems a bit steep when there's no world gen going on. But 110 is definitely more workable than 80
Poob
Poob3mo ago
have you tried just distant horizons without other mods? just your performance and what not i might actually have to test and see if that's the case for me too
Hencoat
Hencoat3mo ago
It would be interesting to see. I'd have to set up a new instance, but it might be worth it. Of course there are always other factors as well. Like a brand new world always has better FPS than one with a big base, farms etc.
Poob
Poob3mo ago
yeah, but you said you have fps difference with and without dh that's something you can check regardless
Hencoat
Hencoat3mo ago
Well if I disable all my mods on my existing world, my game won't load, lol But yeah I could do a new unmodded instance without DH and with DH
Poob
Poob3mo ago
ill check too at least from standing still, same area and world. 139-153fps -> 162 - 180fps. 4k and shaders enabled. There is some impact.
Hencoat
Hencoat3mo ago
Mine's still generating in the DH version
Hencoat
Hencoat3mo ago
The non-DH version is certainly fast. Looks pretty rugged, but it's fast.
No description
Hencoat
Hencoat3mo ago
262FPS Well for some reason my LODs only, like, half-generated? Even though it says world gen is done.
Hencoat
Hencoat3mo ago
But at the same time my FPS is even higher than without DH. So I can't explain that at all.
No description
ThatPanda
ThatPanda3mo ago
What on earth system are you running to get those numbers?
Hencoat
Hencoat3mo ago
7800X3D CPU 4070TI card 32GB RAM 3440 x 1440 resolution This performance is a bit more in line with what I'd be hoping for. You would allow some FPS loss if you're running a bunch of mods, but my feeling is that maybe there's a particular mod or mods that doesn't play nicely with DH and causes a bigger performance hit than expected
ThatPanda
ThatPanda3mo ago
So I am running some testing. 1.20.1, an optimized Fabric build with all the usual performance mods, 6gb of ram, default java arguements. First is with no shaders, second is with the latest Bliss build of shaders. About what I'd expect to see here.
No description
No description
ThatPanda
ThatPanda3mo ago
Utilized these settings on DH, and got these results, first with no shaders, second with the same Bliss shaders.
No description
ThatPanda
ThatPanda3mo ago
No description
No description
ThatPanda
ThatPanda3mo ago
DH absolutely clobbers the fps on default, spinning up only 12.6% of the frames I would get without it. With shaders, it's a little bit better of a story, getting 60% of the fps, but it's still a pretty signifigant hit.
Hencoat
Hencoat3mo ago
Wow, that's crazy Mind you, 1850 FPS is also crazy
ThatPanda
ThatPanda3mo ago
Sure, it is But when you're looking at mods that sap fps....taking something like 87% of the frames away for one mod? Ouch. It's obviously quite playable still but if you're looking to run some 200+ mod pack...DH might not be a great fit.
Hencoat
Hencoat3mo ago
Was yours definitely finished all LOD generation in the DH instance?
ThatPanda
ThatPanda3mo ago
i'm running a second test to confirm Yeah, after a second 15-minute test, I got nearly duplicate results. Variance of ~10 fps In case it matters, I'm running a 12600kf, a 4070, and 32 gb of ram. I might do a couple benchmarks for the generation speed spreadsheet tomorrow, to give some more data as well
Hencoat
Hencoat3mo ago
I'm surprised that your unmodded + shader + DH FPS is about the same as my 400 modded + shader + DH FPS When our systems are similar
ThatPanda
ThatPanda3mo ago
yeah, it's been bothering me a fair bit. Been building a pack for a small friend group to play, and I really want DH, as it was definitely my draw for coming back again. But I get like a stable 50-60 fps on my system, and it should theoretically be so much higher than that xD So I've been digging. I'm sure several mods fight against DH, it's a well-known thing at this point, but I am doing what I can to try and optimize for frames. I've had 3 pcs at my disposal for testing, ranging from a potato to this system, so it's been useful for trying different breaking points.
Hencoat
Hencoat3mo ago
Have you tried all the stuff people told me to do in this thread? System monitoring programs and such? I don't think I learned anything new from it, but maybe you would I still have no idea why default GC is the only one that works for me
ThatPanda
ThatPanda3mo ago
It's a bit harder for me to see that information, as I am single-screening, but things read about what I'd expect from the F3 menu. GPU hovers in the 20-40% range with shaders off and 50-70% with them on. I haven't messed much with different GCs, but I haven't had much stuttering issues running on ~6gb so I haven't really had to mess with it.
Hencoat
Hencoat3mo ago
I dunno if you're running When Dungeons Arise or Ice&Fire, but removing those two seemed to give me some frames back
ThatPanda
ThatPanda3mo ago
Interesting, I might remove When Dungeons Arise and see what that gets me
Certified P. Drizzy
you should measure gpu utilization after the lod generation's done if you wanna check fps