Here’s a clear, “mod-style” explanation of the performance enhancements we added, covering GPU and rendering aspects:
GPU and shader pipeline
- Shader Optimizer: reduces shader variation and redundant state changes so the driver does less work per frame. This helps cut micro-stutter caused by frequent pipeline swaps.
- Shader Compilation Manager: batches and schedules shader compilation to avoid “compile spikes” on the render thread. Where safe, it defers or warms critical shaders so they’re ready before you see heavy scenes.
- Smarter caching: keeps compiled shader programs and expensive shader-derived state around between loads, reducing recompile churn when you revisit menus or worlds.
Rendering and translucency
- Translucency Manager: improves ordering and handling of transparent draw calls to reduce overdraw and common artifacts (e.g., haloing, incorrect blending). The practical result is fewer redundant fragment shader runs in alpha-heavy scenes.
- Safer material paths: avoids triggering expensive fallbacks for edge-case materials, keeping the hot path in fast code paths more often.
Compatibility layers (to keep optimizations safe)
- Embeddium (Sodium-for-Forge) compatibility: respects its render pipeline and avoids double-optimizing shader and state management, preventing performance regressions or conflicts.
- Oculus (Iris-for-Forge) compatibility: guards around shader scheduling and render hooks so optimizations don’t fight with shadow pipelines or advanced effects.
Initialization and workload control
- Ravicon Optimization Manager (safe initialization): prevents heavyweight client components from spiking the main thread during startup or world join. Work is staged and rate-limited to maintain responsiveness.
- Background scheduling for non-critical tasks: where appropriate, expensive preparation (e.g., cache priming) is moved off the render thread and paced to avoid frame hitches.
Diagnostics and observability
- Lightweight performance logging: targeted, low-overhead logs for shader compilation, cache hits/misses, and render path changes—useful for diagnosing stutter without flooding the log or adding measurable overhead.
Mixed-stack stability (performance-adjacent)
- Connector (Fabric+Forge) guards: defensive checks prevent misaligned API calls that would force slow fallbacks or crash paths. Fewer emergency fallbacks means steadier frame times.
- BCLib CustomModelBakery guard (stability): prevents a null-model crash during client init; while not a direct FPS boost, eliminating hard crashes and re-inits avoids the worst-case performance impact (reloads, lost caches, inconsistent state).
What you should feel in-game
- Faster, smoother menu-to-world transitions due to shader warm-up and safer initialization.
- Lower stutter during first encounters with complex scenes or effects thanks to compile batching/caching.
- More consistent frame pacing in alpha/transparent-heavy builds due to improved translucency handling.
- Fewer compatibility-induced slowdowns when running Embeddium/Oculus together with large modpacks.