This release brings a variety of performance optimizations, new features, and bug fixes.
We've spent a lot of time developing and testing this release, with some changes having been worked on and tuned for over a year. Thanks to our community members who contributed features and bug fixes to this release! If you are a mod author who finds their mod no longer works with Sodium 0.7, please open an issue so that we can work with you to fix it.
This is an overview of the biggest changes in this release:
- Complex translucent geometry, such as waterlogged stained glass panes and many types of modded blocks, are now correctly rendered with no measurable performance impact in typical scenarios. We've implemented a quad splitting approach into our translucency sorting solution, resulting in perfect translucency even where it was previously not possible. This provides a significant improvement in graphical fidelity in vanilla and modded scenarios.
- Many aspects of the chunk meshing task system have been updated to work independently of the frame rate. This means even at lower frame rates or with few threads chunks will be meshed without delay or overloading. Our carefully tuned scheduler uses machine learning to improve frame time stability even when loading new chunks.
- Terrain rendering itself has received some optimizations that improve the frame rate for some systems, and when the camera is not moving by using a new per-region cache.
- New optimizations to entity and particle rendering improve performance in heavy scenes.
New Optimizations and Features
- Added translucency sorting with quad splitting to correctly display intersecting and complex geometry (douira)
- Improved performance of terrain rendering on some systems (combined draw commands) (douira)
- Improved performance of terrain rendering when the camera is not moving (draw batch caching) (douira)
- Improved performance of entity rendering by faster vertex sorting (JellySquid)
- Improved chunk load performance & frame stability by task effort estimation and frame-rate independent task scheduling (douira)
- Improved frame time stability by limiting the uploaded chunks using size estimation (douira)
- Improved performance of particle rendering (MoePus)
Changes and Fixes
- Reduced unnecessary memory usage in the upload buffer (IMS, douira)
- Optimized and fixed some block models (muzikbike)
- Improved accessibility, correctness, and translatability of the options (MeeniMc, Madis0, contariaa)
- Added debug mode and safety features to prevent and detect off-thread rendering bugs (JellySquid)
- Improved mod compatibility with the sprite animation optimizations (contariaa)
Other Bugs Fixed
- Fixed small memory leak (JellySquid)
- Fixed some bugs with translucency sorting at large coordinates and with some specific geometry (douira)
- Fixed terrain rendering when the camera is outside the loaded area using bitmap trees (douira)
- Fixed jittery fog animation (cortex, douira)
- Fixed multiple bugs with missed chunk updates and race conditions (douira)
Note: Due to various performance regressions introduced in Minecraft 1.21.5 (which our team is still investigating), we recommend that players use an older, more stable version of Minecraft if performance is important.
This release is also compatible with Minecraft 1.21.7 and 1.21.8.
Highlights
- Added support for Minecraft 1.21.6.
Note: This release is marked as Beta due to performance regressions introduced in Minecraft 1.21.5 that our team is still investigating. We recommend that players use an older, more stable version of Minecraft if performance is important.
- Improved compatibility with some NeoForge mods that use the Fabric Rendering API.
- Improved compatibility with some Fabric mods when they're used on NeoForge with Sinytra Connector.
- Fixed an incompatibility with Snow Real Magic! and some other mods that would cause holes to appear in the world.
- Fixed an issue with mods that use animated sprites in the user interface which was causing their sprites to not be animated.
- Disabled the use of certain developer options in production which were being modified unnecessarily by other mods.
- Marked PojavLauncher as incompatible due to multiple severe and unresolved issues.
- Marked BetterEnd as incompatible due to it enabling code when Sodium is present that causes frequent and difficult to understand crashes.
- Added a warning for when resource packs try to replace the shaders used by Sodium's improved cloud renderer.
- Improved compatibility with some NeoForge mods that use the Fabric Rendering API.
- Improved compatibility with some Fabric mods when they're used on NeoForge with Sinytra Connector.
- Fixed an incompatibility with Snow Real Magic! and some other mods that would cause holes to appear in the world.
- Fixed an issue with mods that use animated sprites in the user interface which was causing their sprites to not be animated.
- Disabled the use of certain developer options in production which were being modified unnecessarily by other mods.
- Marked PojavLauncher as incompatible due to multiple severe and unresolved issues.
- Marked BetterEnd as incompatible due to it enabling code when Sodium is present that causes frequent and difficult to understand crashes.
- Added a warning for when resource packs try to replace the shaders used by Sodium's improved cloud renderer.
This is a stable release which back-ports many fixes and improvements from newer versions of Sodium.
For more information about the (many) changes in this release, please see the change-log for Sodium 0.5.12 Beta 2.
We recommend that players and mod pack authors update to this version, as some changes can significantly improve performance and stability.
Mod Compatibility
Special care has been taken with this update to ensure mod compatibility is not affected. Most users should be able to upgrade to this release without any issues. However, there are some exceptions for mods that heavily touch the internals of Sodium.
- ⚠️ If using the Indium mod, you must update to version 1.0.36 or newer.
- ⚠️ If using the Iris mod, you must update to version 1.7.6 or newer.
Highlights
- Fixed a problem that caused some block entities to render as if they were inside out.
- Fixed a problem that caused some mods with custom fluids to render with the incorrect colors.