
SlashBlade Optimization Summary for Sword Strange Tales
This branch is based on SlashBlade: Resharped 1.2.32, modified specifically for the Sword Strange Tales modpack. In theory, it can also be used with other modpacks.
Optimized rendering content:
OBJ Model Rendering — Models are pre-processed at load time; rendering uses contiguous data directly, eliminating per-frame traversal of model groups and vertex structures.
All Blade Body Rendering — Includes held blades, back blades, inventory icons, blades on stands, and dropped blades. Normal blade bodies, glowing blades, and enchantment glints all use static mesh caching and are reused in subsequent frames.
Slash Animations — Only bone poses are computed; full vertex skinning is skipped. Redundant calculations for the same entity within the same animation frame are avoided.
Dynamic Effects (SlashEffects, Drive, Judgement Cut, Phantom Swords, etc.) — Detail level automatically adjusts based on camera distance; simplified meshes are used when shader packs are enabled, and transparent effect layers are skipped during shadow map rendering.
Rank HUD — Merges 4 separate draw calls into a single one.
Inventory and First‑Load Stutter — Models and textures are pre‑warmed before entering the game, preventing sudden stutters when swinging a blade or opening inventory for the first time. When large numbers of icons are displayed in JEI or the creative inventory, extra rendering layers are automatically reduced.
YSM Compatibility Rendering — YSM model blade rendering now leverages the static mesh cache, while still retaining the original override event path.
Shader Pack Compatibility (Oculus/Iris) — Detects whether shader packs are active. Transparent effects do not enter the shadow map stage, avoiding excessive blade trail shadows. Shadow proxies use simplified meshes instead of full high‑poly models.
Cache Management:
Model caches, mesh caches, and animation pose caches are automatically cleared when resources reload, the player logs out, or the world exits — ensuring they do not accumulate memory indefinitely.

