| 1 | UBO instancing (dynamic tier) | One draw renders every display of a model via instanced UBO records | 58 → 1323 (~23×) |
| 2 | Static tier baking | Stable displays bake into combined buffers, one draw per material, zero per-frame CPU | ~0 CPU/frame at 10000 displays |
| 3 | GPU animation texture | Keyframe lerps evaluate on the GPU, no per-frame CPU work | 26 → 625 (~24×) |
| 4 | Animation loop lock-on | Repeating cycles become self-running GPU loop programs | 0 uploads while locked |
| 5 | Coalesced uploads + stream ring | Dirty ranges merge and stream through a persistent-mapped ring | 491 → 625 (+27%) |
| 6 | Content-based resync filter | Deep compare stops identical server resyncs from forcing rebakes | 0 false rebakes |
| 7 | Mesh capture cache + canonical head model | Each state bakes once; all heads share one skull mesh | 24 → 1712 (~71×) |
| 8 | Head skin atlas | All skins live in one atlas, so heads stay a single draw | Enables #7 / #14 |
| 9 | Glint canonicalization | Glint renders as a second layer, not a second model | 39 → 1549 (~40×) |
| 10 | Text glyph instancing | Glyphs are compact instanced records in per-bucket UBOs | 20 → 116 (~6×) |
| 11 | Instanced shadows | Ground shadows pool into a few instanced draws | 49 600 pieces, no extra draws |
| 12 | Two-level culling | CPU frustum per draw group + per-instance GPU cull | Draws → 0 when looking away |
| 13 | Origin-relative coordinates | Positions stored relative to a rebased render origin | Float precision at far coords |
| 14 | Shaded static pipelines (Iris) | Batches re-bake into the pack's own gbuffer programs | 19 → 280 (~15×) |
| 15 | Resident rebake under pack | Animating batches rewrite in place instead of demoting | Stays 1 draw under packs |
| 16 | Promotion budget + light bands | Promotion caps and distance-staggered light refresh | No hitch frames |