Kelsidavis-WoWee/include
Kelsi d47ae2a110 Fix city stuttering with incremental tile finalization and GPU optimizations
Replace monolithic finalizeTile() with a phased state machine that spreads
GPU upload work across multiple frames (TERRAIN→M2→WMO→WATER→AMBIENT→DONE).
Each advanceFinalization() call does one bounded unit of work within the
per-frame time budget, eliminating 50-300ms frame hitches when entering cities.

Additional performance improvements:
- Pre-allocate bone SSBOs at M2 instance creation instead of lazily during
  first render frame, preventing hitches when many skinned characters appear
- Enable WMO distance culling (800 units) with active-group exemption so
  the player's current floor/neighbors are never culled
- Add 4-tier adaptive M2 render distance (250/400/600/1000 based on count)
- Remove dead PendingM2Upload queue code superseded by incremental system

Fix tile re-enqueueing bug: keep tiles in pendingTiles until committed to
loadedTiles (not when moved to finalizingTiles_) so streamTiles() doesn't
re-enqueue tiles mid-finalization. Also handle unloadTile() for tiles in
the finalizingTiles_ deque to prevent orphaned water/M2/WMO resources.
2026-02-25 02:36:23 -08:00
..
audio Fix voice gender using server data and update loading screen UI 2026-02-23 06:22:30 -08:00
auth Vanilla/Turtle WoW support: M2 loading, bone parsing, textures, auth 2026-02-13 16:53:28 -08:00
core Reduce logging overhead and reuse WMO culling futures 2026-02-22 06:42:15 -08:00
game Show target buffs/debuffs on target frame and fix stance error message 2026-02-23 06:37:15 -08:00
network Optimize world socket buffer handling and logging 2026-02-22 08:16:54 -08:00
pipeline Fix lamp posts as glass and hide distance-only LOD groups when close 2026-02-23 01:54:05 -08:00
platform Fix all remaining build warnings and eliminate UB in binary parsers 2026-02-23 19:58:38 -08:00
rendering Fix city stuttering with incremental tile finalization and GPU optimizations 2026-02-25 02:36:23 -08:00
ui Fix WMO shadow receiving and enable shadows by default 2026-02-23 08:40:23 -08:00