sodium-forge icon indicating copy to clipboard operation
sodium-forge copied to clipboard

[Documentation] Compatibility with Optifine, Performant and Starlight

Open DoctorMeta opened this issue 3 years ago • 14 comments

I want to compile different issues and also add some of my findings. I would love to update the wiki because right now it just returns you to the "Code" page. All of this was done on Forge 36.1.32, AdoptOpen's latest Java 11 JDK using the hotspot VM (going to test OpenJ9 soon) and Sodium Reforged 2.9.1

OPTIFINE

  • Using Optifine G8
  • In the #2 issue, user @Brittank88 found out you can run Optifine with mixin.features.options = false, but I found optifine to be very broken like this. In my #49 issue I found out mixin.features = false disables Sodium entirely and with that optifine has been running like normal for more then a week of testing.
  • I found FPS to be lower compared to Sodium, but you get all the optifine features, including shaders #18

PERFORMANT

  • Using performant-1.16.2-5-3.69m
  • I was able to run performant with this: mixin.ai=false mixin.features=false mixin.gen.features=false
  • I don't really recommend it because it sometimes increased my FPS, sometimes decresed my FPS, but always added some sort of instability like stutters (fixed with fastChunkSave = false in the performant config), FPS fluctuations, etc. I tried using mixin.gen = false witch did reduce some lag spikes, but made world-gen REALLY slow
  • I suggest experimenting more with this

STARLIGHT

  • Using starlight-forge-1.0.0-RC2-1.16.5
  • Starlight can be installed without any configuration, more in the #72 issue.
  • I found increased FPS, and world-gen to be A LOT faster
  • BE CAREFUL, as this mod is still in BETA, but in my short 2 hour test I found 0 problems

COMBINATIONS

  • In my opinion Sodium Reforged+Optifine+Starlight is the best combo, because I use a lot of resource packs and shaders sometimes.
  • I haven't tested this, but I'm pretty sure best performance would be Sodium Reforged+Starlight

All the mixins can be found here: https://github.com/spoorn/sodium-forge/blob/a75b718bd86ca6b70538afbcd070d598d808ef36/src/main/java/me/jellysquid/mods/sodium/common/config/SodiumConfig.java#L25

DoctorMeta avatar Jul 11 '21 00:07 DoctorMeta

But Sir. You disabled ENTIRE MOD FUTURES to make compatible all the mods. So what's the resaon to install Sodium Reforged?

Blunder-G avatar Jul 11 '21 18:07 Blunder-G

I understand what you mean, but this is mostly just to prove you can do this and there's always some part of sodium reforged that's still active.

Even in the "most disabled" Sodium Reforged+Optifine+Performant+Starlight (I don't recommend this, quite unstable) parts of lithium that speed up world-gen are still active.

In the most performant version (Sodium Reforged+Starlight) You give up phosphor for starlight witch is WAY faster (still be careful as it's in BETA)

In my preferred version (Sodium Reforged+Optifine+Starlight) I have all the optifine features instead of Sodium, I have starlight instead of Phosphor, but all of lithium (except AI improvements, because that's currently broken) is still active.

DoctorMeta avatar Jul 11 '21 19:07 DoctorMeta

I've made a starlight branch which includes starlight:)

Pannoniae avatar Jul 21 '21 18:07 Pannoniae

I have been doing some testing of my own with various combinations of Optifine, Optiforge, Starlight, Sodium Reforged, and FerriteCore. From what I have seen so far, the combination with the highest fps on average is Sodium Reforged + Starlight, as you had originally guessed. On unlimited fps, It consistently hung around the 400-500 fps mark, and when the occasional lag spike did hit, it went no lower than 200 fps. Despite that massive drop, it is hardly noticeable.

I am trying to figure out what mod in my ~300 mod modpack is causing sodium to freak out so badly, and I may have a better sense of direction thanks to these tests. Also, this is the first time I heard of starlight, and it has become a new favorite.

Corvus20 avatar Jul 26 '21 21:07 Corvus20

Thank you @Corvus20! You could post your mod list and I may be able to help somewhat. Also I used FerriteCore along all of my tests and never tried without it. I saw it just lowered RAM usage and that was it.

DoctorMeta avatar Jul 28 '21 11:07 DoctorMeta

@DoctorMeta I would like some help if you'd be willing! I will link a google drive folder of important info like java arguments, forge version, the list of mods, video of the lag occuring, etc. below. Hopefully you can find something that I might have missed.

https://drive.google.com/drive/folders/1Uk9vRMk7Vsaci26KABRURXlkhtAW1aj-?usp=sharing

Corvus20 avatar Jul 29 '21 16:07 Corvus20

Hmm... here's my discord: Dr.m#0001 I think I have a few ideas of what could be causing you problems.

DoctorMeta avatar Jul 31 '21 12:07 DoctorMeta

Hmm... here's my discord: Dr.m#0001 I think I have a few ideas of what could be causing you problems.

sent a friend request

Corvus20 avatar Jul 31 '21 19:07 Corvus20

I did some benchmarks on my machine in a pack of about 100 mods, loosely recording the low and high averages as I flew around generating terrain: here's what I got:

Performant, Optifine, Starlight -> 41-76 Sodium Reforged, Starlight -> 32-73 Optifine, Starlight -> 32-61

Some minor notes: I switched to the experimental Create-compatable version of Starlight for the last two benchmarks, but there are bigger concerns for accuracy with this little test.

I find it curious that Performant just gave a free, consistent 10 fps, sodium would easily outshine the Optifine route if Performant worked well with it, definitely something to look forward to as compatability is fleshed out.

Dakedres avatar Aug 06 '21 06:08 Dakedres

Where is the Create compatible version of Starlight?

GeorgeOrwell1 avatar Aug 06 '21 16:08 GeorgeOrwell1

Here you go, it's likely to be pushed into the main starlight repo once it's stability is proven https://github.com/AeiouEnigma/Starlight/releases

Dakedres avatar Aug 07 '21 16:08 Dakedres

Thanks!

GeorgeOrwell1 avatar Aug 08 '21 06:08 GeorgeOrwell1

How i have to use this comments, "mixin.features.options = false"?

agentwolf88 avatar Aug 08 '21 06:08 agentwolf88

How i have to use this comments, "mixin.features.options = false"?

Go into the sodium-mixins.properties file in your config folder, and add that line in there.

GeorgeOrwell1 avatar Aug 08 '21 10:08 GeorgeOrwell1