Shader Continuity

Quick rating

Community listing page, reviews may not be monitored by the author.

Shader Continuity

By Hecrius

No reviews yet

An experimental animated loading indicator for supported Iris shader reloads, with reload prevention and presentation during shader preparation.

Mod Loaders
Minecraft

About

Description

Shader Continuity keeps an activity indicator moving over the last displayed frame while the audited Iris build reloads a shader pack. It also avoids an extra reload when enabling a newly selected pack would immediately trigger another Apply reload.

  • Visible reload progress: Present a captured frame and animated five-segment indicator through supported shader-source work, compilation waits and first-frame preparation.
  • Preserved shader output: Run Iris's original supported CPU source methods on a worker and wait for their results. Graphics work stays on its owner thread; Iris's existing independent source jobs retain their concurrency.
  • Supported driver cooperation: Request and restore a temporary compiler-thread hint when parallel shader compilation extensions are available. Driver support determines how much work can proceed without blocking.
  • Conservative Iris compatibility: Enable integration only when all 94 audited Iris class fingerprints match. Missing or changed Iris builds disable the integration automatically.

Gameplay, input and the underlying world or menu animation remain paused during reload. Individual driver calls, class initialization and JVM pauses can still stop the indicator. This alpha does not promise freeze free shader switching or universally faster compilation. Its tested scope is enabling and switching packs through Iris settings in an already loaded world; initial startup and other pipeline creation paths are outside that scope.

Installation and Dependencies

Side: Client only. Install the NeoForge JAR in the client's mods folder.

Required platform: Minecraft 1.21.1, NeoForge 21.1.250 to below 21.2, and Java 21. NeoForge 21.1.250 is the tested loader; the broader metadata range does not establish testing on every later build.

Required mods: None beyond NeoForge for loading the mod. For its shader loading features to function, install the audited Iris 1.8.14-beta.1+mc1.21.1 build and Iris's own required dependencies.

Optional integrations and content: Smooth Loading, Tensura mods, and specific shader packs are not required dependencies. Bliss and Complementary are tested shader pack examples; their files are installed separately.

5. License

MIT License.

Results:

Longest display pause

Seconds, showing the range across two complete runs per condition:

Action Before With Shader Continuity
Initially enable Bliss 6.734–9.786 0.175–0.255
Switch to Complementary Reimagined 0.623–0.658 0.054–0.067
Switch to Complementary Unbound 2.013–2.289 0.085–0.178
Switch back to Bliss in the same process 0.499–0.545 0.065–0.072

Total loading time is a different metric

Apply callback duration, seconds:

Action Before With Shader Continuity
Initially enable Bliss 6.008–8.709 3.484–3.960
Switch to Reimagined 0.578–0.620 2.534–2.605
Switch to Unbound 1.983–2.249 2.027–2.120
Switch back to Bliss 0.430–0.438 0.481–0.490
Sum of four Apply calls 9.007–12.008 8.535–9.166

Disclaimer: All tests were run using my Tensura World of Monsters Modpack