In the past, OptiFine was the way to get much improved performance and many extra features in Minecraft. Nowadays, in more recent Minecraft versions, this is no longer the case.
OptiFine acts as a “modpack inside a mod,” which makes it impossible to disable certain features that are unwanted or incompatible with other mods. You get essentially forced to remove the incompatible mod or OptiFine.
It’s closed-source. This makes it almost impossible for both users and developers to understand what the mod is doing. This may make it much more challenging for developers to keep their mods compatible with OptiFine.
OptiFine usually takes a loooooong time to update to newer MC versions, whereas current alternatives typically update much faster. At the time of writing this, it seems like OptiFine for 1.19.3 is still in a pre-release state even though 1.19.3 came out back in December!
While you may think switching to Sodium and Co would be an overwhelming task, it’s actually quite easy to get used to. I know this as I did, in fact, use OptiFine for many years before I switched, and it was generally an easy thing to do.
So, what should I use instead?⌗
Many alternatives have risen in popularity ever since the Sodium mod had started development, a complete rewrite to Minecraft’s rendering engine. It’s much more optimized than OptiFine, supports modern loaders such as Fabric and Quilt, and is best of all - open-source!
For convenience, I recommend using a different launcher than Mojang’s default, such as Prism Launcher. The main reason is so that you can easily manage your mods and modpacks, such as installing or updating them within the launcher. See my other blog post for more information.
If you don’t want to read this whole post, perhaps try out one of my modpacks! I have two that I actively maintain that you might want to try - these being Adrenaline, a bare-bones and lightweight performance layer, and Additive, which is built on top of Adrenaline with extra mods for OptiFine parity. For other alternatives, see Fabulously and Simply Optimized. You can install these modpacks using a third-party launcher according to Modrinth’s documentation.
For performance benefits, I recommend these mods along with Sodium. If you don’t want to install all of them, the main optimizations are contained in the first four mods. Not every performance mod is mentioned here, if you want all of the ones I recommend, see my modpack.
- Lithium for mostly server-side optimizations
- Starlight is a rewrite to Minecraft’s lighting engine
- FerriteCore optimizes memory usage in many different ways
- EntityCulling skips rendering entities that shouldn’t be seen
- LazyDFU makes unnecessary initialization work only performed when required (no longer needed on ≥1.19.4)
- More Culling extra culling optimizations
- ImmediatelyFast improves immediate mode rendering performance
What about shaders or other features?⌗
For shaders, you can install the Iris mod. It supports most OptiFine shaders, with growing support for even more each update.
For the other features that OptiFine provides, see LambdAurora’s list of alternatives here.
Thanks for reading! I hope this helps you better understand why you shouldn’t use OptiFine in modern versions of Minecraft.