mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-23 07:40:14 +00:00
Optimize M2 update loop: skip static doodads, incremental spatial index
Some checks failed
Build / Build (arm64) (push) Has been cancelled
Build / Build (x86-64) (push) Has been cancelled
Build / Build (macOS arm64) (push) Has been cancelled
Build / Build (windows-arm64) (push) Has been cancelled
Build / Build (windows-x86-64) (push) Has been cancelled
Security / CodeQL (C/C++) (push) Has been cancelled
Security / Semgrep (push) Has been cancelled
Security / Sanitizer Build (ASan/UBSan) (push) Has been cancelled
Some checks failed
Build / Build (arm64) (push) Has been cancelled
Build / Build (x86-64) (push) Has been cancelled
Build / Build (macOS arm64) (push) Has been cancelled
Build / Build (windows-arm64) (push) Has been cancelled
Build / Build (windows-x86-64) (push) Has been cancelled
Security / CodeQL (C/C++) (push) Has been cancelled
Security / Semgrep (push) Has been cancelled
Security / Sanitizer Build (ASan/UBSan) (push) Has been cancelled
- Split M2 instances into fast-path index lists (animated, particle-only, particle-all, smoke) to avoid iterating all 46K instances per frame - Cache model flags (hasAnimation, disableAnimation, isSmoke, etc.) on M2Instance struct to eliminate per-frame hash lookups - Replace full rebuildSpatialIndex on position/transform updates with incremental grid cell remove+add, preventing 8.5ms/frame rebuild cost - Advance animTime for all instances (texture UV animation) but only compute bones and particles for the ~3K that need it M2_UPDATE: 10.7ms → 2.0ms, FPS: 35 → 55-59
This commit is contained in:
parent
7535084652
commit
3482dacea8
4 changed files with 177 additions and 62 deletions
|
|
@ -3346,7 +3346,6 @@ void Renderer::renderWorld(game::World* world, game::GameHandler* gameHandler) {
|
|||
|
||||
auto renderEnd = std::chrono::steady_clock::now();
|
||||
lastRenderMs = std::chrono::duration<double, std::milli>(renderEnd - renderStart).count();
|
||||
|
||||
}
|
||||
|
||||
// initPostProcess(), resizePostProcess(), shutdownPostProcess() removed —
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue