Sodium

Sodium

Mod

A modern rendering engine for Minecraft which greatly improves performance

Client Optimization

6.83M downloads
12.0k followers
Created3 years ago
Updated2 months ago

Follow Save
Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.
Sodium 0.4 Comparison


☕ A brief message...

This mod is the result of thousands of hours of development, and is made possible thanks to players like you. If you would like to show a token of your appreciation for our work, and help support the development of Sodium in the process, then consider buying us a coffee.


Sodium is a free and open-source mod for Minecraft 1.16+ clients which greatly improves rendering performance while fixing some graphical issues. It boasts wide compatibility with the Fabric mod ecosystem when compared to other rendering-focused mods, and it does so without compromising on how the game looks, giving you that authentic block game feel.

📥 Installation Guide

Please make sure you read the Driver Compatibility section on our wiki before you install Sodium. It contains important instructions on how to prevent crashes and other performance problems.

Sodium is a Fabric mod, which means it requires the Fabric Loader. If you are using a third-party launcher, it probably has built-in functionality to automatically install mod loaders. Once you have installed Fabric Loader, you can simply place Sodium into your mods folder like anything else.

Not sure if you installed the mod correctly? Check your Video Settings screen in Minecraft, which should show our new and improved user interface for changing settings.

Not sure how to configure the mod? Don't worry, you probably don't need to. By default, Sodium will enable all optimizations which are supported on your system, giving you the best experience possible. You should generally only change video settings related to performance and other advanced features if you are experiencing issues.

Need even more performance? By design, Sodium only optimizes the rendering code of Minecraft. You should also install our other mods, such as Lithium (for MC 1.15+) and Phosphor (for MC <1.19), to optimize the other parts of your game. This is done so that players can pick and choose which mods they want to use, but we generally recommend using our entire collection.

✅ Hardware Compatibility

We only support graphics cards which have up-to-date drivers that are compatible with OpenGL 4.6. Most graphics cards released in the past 12 years are compatible. This includes the following hardware:

  • INTEL HD Graphics 500 Series (Skylake) or newer
  • NVIDIA GeForce 400 Series (Fermi) or newer
  • AMD Radeon HD 7000 Series (GCN 1) or newer

In some cases, older graphics cards may also work (so long as they have up-to-date drivers which have support for OpenGL 3.3), but they are not officially supported, and may not be compatible with future versions of Sodium.

Android devices which use OpenGL translation layers (such as GL4ES, ANGLE, etc) are not supported and will very likely not work with Sodium. These translation layers do not implement required functionality and they suffer from underlying driver bugs which cannot be worked around.

If you are running into problems, you should make sure that your graphics drivers are up-to-date. Out-of-date graphics drivers are often the reason for most crashes, rendering bugs, and performance issues.

⚙️ Technical details

So, how exactly does Sodium work? We obviously cannot just say that the game is magically faster without providing some kind of explanation. The following list tries to cover some of the most significant changes which are responsible for our performance improvements, but it's not complete or exhaustive of everything Sodium does.

  • We replace all of Minecraft's world rendering code with our own implementation that is built upon modern rendering techniques. For chunk rendering, we make use of geometry batching and draw pass consolidation, which greatly reduces the amount of CPU overhead involved in rendering the world. Sodium isn't just an optimization mod... it's more like a rendering engine.

  • We use a much more compact format for world geometry, which allows for up to a ~40% reduction in the amount of video memory used by chunks. Additionally, we make use of a second culling pass to eliminate geometry which is facing away from the camera (but still within the camera's view) so that the GPU does not need to process hidden geometry. Together, these optimizations reduce video memory bandwidth requirements significantly, which is one of the game's biggest bottlenecks.

  • We use a fully-rewritten system for generating chunk geometry, including the biome colorization, lighting, and shading passes. This is often much faster than the vanilla code, which helps to make chunk loading faster and less CPU-intensive. (before, after)

  • We use a custom threading implementation which ensures chunk updates are better able to take advantage of multi-core CPUs, which greatly reduces the lag spikes that are caused by placing/breaking blocks. (before, after)

  • We've written many optimizations for vertex building and transformation, which helps to speed up immediate-mode rendering. This noticeably improves performance in heavy scenes, such as when many entities are visible.

  • We've made numerous improvements to how the game manages memory and allocates objects, which in turn reduces memory consumption and lag spikes caused by garbage collector activity.

  • Animated textures which are not visible in the world are not updated, speeding up texture updating on most hardware (especially AMD cards.)

Many people are used to performance optimization meaning that the game will look worse, but in our case, we actually improve the graphical fidelity of Minecraft in most situations.

  • Biome colors for blocks and fluids are smoothed across block faces, providing greatly improved graphical quality that is significantly less computationally intensive. (comparison)

  • Smooth lighting now works correctly on fluids and other special blocks (comparison) We also fix a number of graphical issues with block shading (comparison) which helps to make everything look smoother.

🐛 How to Report Issues

Please use the issue tracker linked at the top of the page to report bugs, crashes, and other issues. Make sure you include information about the mods you are using, and attach any crash/log files you have.

❓ Frequently Asked Questions

We have a short wiki with some of the most frequently asked questions here. More likely than not, your question already has an answer here.

External resources



Project members

jellysquid3

Owner

IMS

Maintainer


Technical information

Client side
required
Server side
unsupported
Project ID