This release fixes many issues and performance problems that were introduced with the first release of Sodium for Minecraft 1.17.1.
Changes and fixes
- Improved frame times when loading/updating chunks through the use of persistently mapped staging buffer (requires OpenGL 4.4+)
- Fixed chunk rendering corruption on older AMD/Windows systems
- Fixed missing chunk and "hole in the world" issues that could appear on some AMD systems
- Fixed the "Only Animate Visible Textures" option not disabling the optimization if ticked
- Fixed config files sometimes becoming corrupt after the game crashes
- Fixed an issue where fog effects would not respect other mods which modify the camera
- Fixed compatibility with LWJGL 3.2.3 and macOS M1 hardware
- Fixed an issue where some blocks wouldn't render their waterlogged state against glass.
- Changed how camera transformation matrices are handled in our shader code for better compatibility with Iris
This release adds official support for Minecraft 1.17.1 and with it many new improvements and fixes.
Changes and fixes
- A brand new chunk rendering backend has been introduced, bringing the best performance yet to any hardware that can run Minecraft.
- Added support for some Fabric API features, such custom fluid rendering and blocks with attached data.
- Many improvements to how we use and allocate VRAM, reducing stutters caused by loading chunks and overall GPU memory usage.
- Additionally, chunk loading was improved to prevent overload and to better stabilize frame rates. This can help with loading into worlds or when many blocks are changing at once.
- Improved the amount of time it takes to rebuild the chunk graph. This can reduce lag associated with moving around in the world or loading chunks at higher render distances.
- Many new optimizations for high resolution texture packs, especially when animated textures are used.
- Fixes and improvements for fog effects during sunrise/sunset and while underwater, helping to improve visuals drastically.
- Reduced VRAM usage in ocean biomes and other environments with lots of water.
- Support for custom translations (to be added in a future release)
- Improvements to particle rendering/culling, helping performance in particle heavy servers.
- Additional optimizations for biome color blending.
- ... and many other smaller, miscellaneous optimizations specific to Minecraft 1.17.
This is the first major release of Sodium since launch, so there are nearly a year's worth of improvements and bug fixes in this one! Hardware support has been greatly improved, and there's been many new optimizations to help out everyone.
Highlights
- Added a new and optimized system for vertex writing. Depending on the situation, significant performance improvements can be seen for both block entity rendering, mob rendering, and text rendering.
- Improved hardware support for AMD and Intel GPUs on Windows, allowing the use of multi-draw rendering where it was otherwise broken in the past. Multi-draw chunk rendering can drastically improve frame rates where supported.
- Switched to using the new ThinGL library, which allows Sodium code to use a stateless abstraction over OpenGL. This helps to improve performance, mod compatibility, stability, and future compatibility with Minecraft 1.17.
- Preparing chunk updates for rendering now takes much less time by better taking advantage of multi-threading, greatly improving frame times while loading or updating chunks.
- Many new optimizations for our chunk graph and culling algorithm, helping to reduce CPU load and improve frame rates while playing.
- Improved compatibility with many mods depending on additional block data to be available during chunk building, such as LambdaBetterGrass.
- Added an API other mods can use to disable Sodium features. Sometimes, incompatibilities can arise, but mods supporting this functionality can ask Sodium to disable specific parts of itself automatically to avoid these.
- Fixed large memory leaks that could occur when unloading and loading many worlds repeatedly.
- Fixed terrain stitching issues caused by high-resolution texture packs and exotic block models.
- Fixed some issues with smooth block and entity lighting, notably with emissive properties.
- Fixed issues where the top-face of fluids would disappear at certain camera angle, or while inside a fluid.
- Fixed many issues causing chunks not to update or appear when looking in certain directions.
- Issues with render distance and fog effects when using certain mods have been fixed. ... and much, much more.
You can find a number of issues that were fixed with this release here. For the complete list of changes, you can review the Git commit log here.