Compatibility
Minecraft: Java Edition
1.21.4–1.21.11
Platforms
Supported environments
Client-side
Tags
Creators
Details
Licensed LGPL-3.0-or-later
Published 3 weeks ago
Changelog
SmoothGL V5 — Performance & Stability Update (Modrinth Changelog)
🔧 Fixes & Optimizations
1. FogRenderer crash fix
- Updated
setupFogmixin injection signature for Minecraft 1.21.4 - Disabled vanilla fog by forcing extremely large fog distances (
999999.0f)
2. Thread-safety improvements — PipelineTrace
-
Replaced
HashMapwithConcurrentHashMapforchunkStates -
Replaced counters with
AtomicLong -
Added cleanup of
chunkStatesentries afterRENDER_SUBMITTED- Prevents unbounded memory growth
- Reduces GC spikes and long pauses
3. Hot path optimization — Double-Checked Locking
Implemented volatile + DCL singleton access for:
GeometryKernelPipelineTraceParticleCullingSystemSmoothGLDecisionEngineStabilityLayerFrameBudgetControllerSmoothGLControllerSmoothGLApiRenderImpactProfiler
Additional changes:
- Removed unnecessary
synchronizedmethods from hot paths
4. Removed expensive logic from render hot paths
-
Removed per-face distance-based leaf LOD checks from
AbstractBlockRenderContext.isFaceCulled() -
Eliminated repeated:
getInstance()callsBlockPosallocationsinstanceofchecks per face
-
Sodium occlusion cache now handles inter-leaf culling more efficiently
5. Cached renderer references — BlockRenderer
Added cached fields:
cachedGeomcachedCullercachedLeafCullDistSq
References are now resolved once during prepare() instead of per-block rendering.
6. Debug overhead disabled
debugMode = falseby default across SmoothGL systems- Removed
System.out.printlncalls from rendering hot paths - Disabled unused
PipelineTrace.enable()initialization
Result:
- Lower CPU overhead
- Reduced console spam
- Better frame consistency
7. More aggressive performance tuning
GeometryKernel
leafCullDistance:24.0f(was32)simplificationDistance:48.0f(was64)- Enabled
alphaOverdrawReduction
ParticleCullingSystem
Enabled:
- Distance culling
- Frustum culling
Particle thresholds:
- Smoke:
32 - Rain:
48 - Default:
24
8. Particle culling restored
- Restored missing logic in
SingleQuadParticleMixin.renderRotatedQuad() - Particle culling works correctly again
9. Removed atomic operations from hot paths
- Removed
addAlphaOverdrawReduced(1)from leaf culling inBlockRenderer.renderModel() - Reduces synchronization overhead during chunk rendering
10. Leaf rendering fixes
Fixed issue where leaves would not appear until a neighboring block was updated.
Changes:
- Added explicit leaf-to-leaf checks in
AbstractBlockRenderContext.isFaceCulled() - Leaves now always render faces between each other
- Bypasses problematic occlusion behavior
11. Updated mod metadata
- Updated
fabric.mod.json - Added detailed feature descriptions for Modrinth/launcher display
🚀 Overall Results
- Lower CPU overhead in chunk rendering
- Reduced memory pressure and GC spikes
- Improved thread safety
- Better particle rendering performance
- More stable rendering pipeline on Minecraft 1.21.4
- Faster and more consistent frame times
Dependencies
Files
smoothgl-v5-leaf-fix-0.6.13.jar(1.64 MiB) Primary
Metadata
Release channel
BetaVersion number
0.6.13Loaders
Fabric
Game versions
1.21.4–1.21.11Environment
Client-side only


