A modern rendering engine for Minecraft which greatly improves performance

Client Optimization

Created3 years ago
Updated3 months ago

Follow Save
Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.
Filter loader...
Filter versions...
Filter channels...
  • Fixed compatibility with Fabric API 0.95.3+ when using High Contrast or Programmer Art resource packs.
  • Improved support for keyboard accessibility features in parts of the video settings screen. (thanks @haykam821)
  • Updated mod compatibility data.
  • Fixed a critical issue where terrain would not render if outside the world height.
  • Updated mod compatibility data so that the game will crash early at startup if incompatible addon mods are found.
  • Reverted back to the 20-byte vertex format, which fixes a number of lighting issues that were introduced with Sodium 0.5. (bug)
    • This will cause a slight performance regression, but there is no way to fix the bugs without accepting this.
  • The resource pack compatibility scanner has been improved significantly. (commit)
    • Resource pack authors can now silence certain warnings if they know the compatibility warnings are incorrect. (pr)
    • A compatibility report is now written to the game's log file with more information about the problems.
  • The compatibility checks for RivaTuner Statistics Server (RTSS) have been improved so that no crash will happen if a known compatible version is used. (bug)
    • Older versions are still not supported, and a pop-up error will be shown if it is detected.
  • Added support for using "fast clouds" with Sodium. (bug)
    • Please note, using "fast clouds" does not actually improve performance, since our optimized code for cloud rendering is already fast enough.
  • Improved compatibility with certain mods (i.e. Caxton) that have unusual vertex formats. (bug)
  • Improved compatibility with mods that use custom ColorResolvers. (bug)
  • Fixed an issue where other mods using special animated block rendering would not have their textures be animated. (pr)
  • Fixed texture alignment problems and other block rendering issues caused by the use of very high-resolution texture packs.
  • Added a pop-up message (with installation instructions) for when users attempt to double-click the Sodium JAR file. (code)
  • The Video Settings screen now has better descriptions of each option and their performance impact. (change)
  • Improved the UX for when the renderer config file is corrupt and can't be used.
    • A toast message is shown at startup, and the user is now prompted to reset the config file back to defaults when opening the Video Settings screen.
  • Fixed a warning message which could appear when compiling terrain shaders. (pr)
  • Fixed a number of problems which caused incorrect rendering between certain render regions. (bug)
  • Fixed a problem where the block shape culling cache would always generate a cache-miss after it had exceeded a certain size.
  • Fixed some block face culling problems that were caused by hureistics which were too aggressive.
  • Added a donation nag screen that appears after a few days have passed after installation.
    • This can be disabled permanently by changing the config option notifications.force_disable_donation_prompts to false.

This is a minor point release which improves some error diagnostics.


  • Startup errors caused by out-of-date graphics drivers will now show a popup message on Windows.
  • Error diagnostics now link to the improved wiki pages.
  • Attempts to schedule chunk rebuilds from the wrong thread is now an error, potentially catching broken mods that are causing memory safety issues.

Sodium 0.5.4

by IMS on Dec 5, 2023

Sodium 0.5.4

by IMS on Dec 5, 2023


  • Slightly improved the performance of immediate-mode rendering (anything which is not terrain) by enabling general optimizations for all parts of the game code and other mods.
  • The existing optimizations for entity rendering have been further improved, increasing frame rates by up to 7-10% in busy worlds.
  • The automatic detection of graphics driver bugs and software incompatibilities has been improved.
    • The game will now crash when Rivatuner Statistics Server (RTSS) is detected, in order to prevent the user's hard drive from being filled up with errors.
    • Resource packs which attempt to load incompatible "core shaders" now show a warning.

Misc changes:.

  • Fixed a bug where interacting with blocks in a debug world would result in the incorrect visual state being shown.
  • Fixed some problems where chunks would not be rendered in the correct order when standing at the extreme extent of a render region.
  • Fixed a bug where the client would get stuck at "Loading terrain..." for a very long time when the player's eyes and feet were in different chunks.
  • Fixed a problem where animated textures would become de-synchronized with one another, due to texture updates being skipped for not-visible blocks.
  • Fixed animated texture interpolation with mods that use unusual texture sizes.
  • Improved compatibility with mods that replace the ColorProvider implementation of vanilla blocks.
  • Improved compatibility with mods that specify a block entity renderer on "air" blocks. (Please stop doing this.)

Sodium 0.5.3

by IMS on Sep 21, 2023

Updated to Minecraft 1.20.2.


  • Added support for version 2 of Fabric's BlockView API. (#2063)
  • Fixed a crash that could occur when mods attempt to create quads with fewer than 4 vertices. (#2060)
  • Fixed a crash that could occur when mods do not provide a valid sprite as part of their block model geometry. (#2049)
  • Updated the list of authors and contributors.

This release fixes some issues that were introduced with Sodium 0.5.x, mostly to improve mod compatibility.

Compatible with Minecraft 1.20.1 only and Fabric Loader 0.14 or newer.

Note: Other mods which are compatible with Sodium 0.5.1 should also be compatible with Sodium 0.5.2, with some notable exceptions (such as Iris Shaders.) You may have to wait for an update from the authors of those mods.


  • Fixed a problem where chunks would not render in front of the player when using mods that disable fog effects.
  • Fixed a problem where the game would freeze if using mods that configure the fog distance to far beyond the render distance.
  • Fixed a crash that could occur when mods make use of NIO channels on the chunk meshing threads.
  • Cauldron blocks no longer force the use of smooth biome color blending for the fluid conetnts.
  • Added some additional integrations for ModMenu.

This release contains some new performance improvements (especially for integrated GPUs) and some fixes for issues introduced in the previous release.

Compatible with Minecraft 1.20.1 only and Fabric Loader 0.14 or newer.

Note: Some mods which interact with Sodium are likely to be incompatible with this update. You may have to wait for an update from the authors of those mods.


  • Reduced video memory usage & bandwidth requirements by up to 20%. This can significantly improve performance when GPU-limited.
  • Some more performance improvements have been made to chunk occlusion culling, reducing CPU overhead. The algorithm is also slightly more accurate, which may allow for GPU load to be further reduced.

Other notable changes

  • Fixed a problem where some surfaces would not render when the player stands at certain positions.
  • Fixed a problem which caused the "update your graphics drivers" message to appear even if the latest NVIDIA graphics drivers were installed on Windows.
  • Fixed the "Always Defer Chunk Updates" option (in "Video Settings > Performance") not working correctly.
  • Fixed a race condition that could cause sporadic crashes when other mods attempt to perform rendering off-thread.
  • Fixed a number of issues with the Mixins configuration file which prevented other mods from disabling certain functionality in Sodium.
  • The graphics adapter probe now works correctly on Linux computers with hybrid graphics.
  • The focus behavior of the Video Settings screen has changed, and elements are now only focused if the keyboard is used, rather than on each mouse click.

This version is probably one of the biggest updates for Sodium yet, and contains a massive number of performance enhancements, bug fixes, and improvements.

With thanks to the following contributors: @jellysquid3, @IMS212, @PepperCode1, @comp500, @MCRcortex, @Noryea, @embeddedt, @Grayray75, and @Moulberry.

Compatible with Minecraft 1.20.1 only and Fabric Loader 0.14 or newer.

Note: Many mods which interact with Sodium are likely to be incompatible with this update. You may have to wait for an update from the authors of those mods.


  • Dramatically improved the performance of terrain rendering in nearly every way.
    • Chunk loading is dramatically faster, uses much fewer resources (both CPU and RAM), and should feel much smoother than before.
      • The amount of time needed to load new chunks (referred to as "meshing") has been greatly reduced, and is anywhere from 40% to 60% faster than the previous release.
      • Memory allocation rate while loading the geometry for new chunks has been decreased by around 80%.
    • Occlusion culling is anywhere from 25-45% faster now, and the long-standing bugs with it have also been fixed
      • You've probably experienced those issues where certain parts of the world don't seem to render when looked at from certain angles. Well, those issues are fixed now!
    • Terrain rendering now uses shared index buffers which can reduce video memory bandwidth/usage requirements by up to 25%.
  • Fixed major performance regressions NVIDIA graphics cards. (anywhere from 200% to 300% faster than previous release...)
    • If you were previously disappointed by the performance you were getting on a NVIDIA GPU, try this version.
  • "Render Pass Consolidation" has been added, which greatly reduces the number of render passes needed for the world (hugely improves CPU and GPU utilization.) This also helps to prevent excessive amounts of overdraw, and ensures larger batches of geometry are sent to the GPU for rendering.
  • "Block Face Culling" has been significantly improved, which allows for more blocks to be eligible for early geometry culling (hugely improves GPU utilization.) This generally makes the biggest difference in foliage-heavy scenes.
  • Many other performance enhancements which are too numerous to describe here.

Other notable changes

  • A lot of issues with biome color blending have been fixed. This means it is no longer incorrectly applied to certain blocks, especially those from other mods. Additionally, it's much faster to calculate the colors used by certain blocks, which helps improve world load times.
  • A lot of issues were also fixed with smooth lighting! This should fix some issues with certain resource packs, and the lighting with blocks like Sculk Sensors.
  • Mip-mapping has been greatly improved so that terrain no longer has a black outline around certain textures when viewed at extreme angles. (Note: This has the consequence that some textures, such as those used for leaves, may seem slightly brighter than they did before. However, we think this generally looks more accurate to the original texture work, and believe the original behavior was a bug.)
  • When supported, the mod will now request a "No Error Context", which allows the graphics driver to skip some unnecessary CPU overhead during rendering. This slightly helps improve performance on some graphics card drivers.
  • A new driver compatibility and workarounds system has been implemented, which helps to inform the user of possible performance issues & automatically fix them.
  • Line rendering (used by things like Structure Blocks and Hitbox Rendering) is no longer broken.
  • ... Many other improvements for mod compatibility.

Sodium 0.4.10

by IMS on Jun 7, 2023

Updated for Minecraft 1.20. No other changes.

Sodium 0.4.10

by IMS on Mar 14, 2023


  • Added support for Minecraft 1.19.4.
  • Fixed graphical corruption when using the Zink OpenGL driver.

Known Issues

None outstanding as of the time of writing. Please open an issue if you run into problems.

This version adds new a number of new optimizations and fixes a couple of bugs with the previous release. Most players will want to upgrade to this version.

  • Improved the performance of special effects, such as the enchanted item glint (up to 300% faster.)
  • Improved the performance of mob and block entity rendering (up to 20% faster.)
  • Improved the performance of chunk rendering by exchanging a small amount of memory for a reduced number of draw calls (up to 10% faster.)
  • Fixed a memory leak which would cause copies of chunks to remain in cache even if they were no longer needed.
  • Fixed a problem where animated textures which used interpolation would not have their alpha channel handled correctly.

NOTE: This version makes internal changes that will likely break mods that try to hook into Sodium (such as Iris, Indium, ImmediatelyFast, etc.) You will need to wait for an updated version of these mods.

This version improves on the driver detection system introduced in Sodium 0.4.7. The game no longer requires a restart to apply workarounds, and users will no longer see a popup window when a workaround has been applied.

To see what workarounds have been applied, you can read your client log file.

Sodium 0.4.7

by IMS on Dec 29, 2022

Sodium 0.4.7 is now out, fixing a memory leak and adding optimized cloud rendering.

This release includes a workaround for crashes on NVIDIA drivers. On the first boot, if you are affected a notice will appear explaining the problem.

External resources

Project members





Technical information

Client side
Server side
Project ID