LL perf (Core): Audio #381

Closed
opened 2026-10-04 14:09:34 +00:00 by sky_line · 0 comments
Owner

From the LL-origin inefficiency audit (finding C13). File/line references are from commit 0229f8872c; re-locate them before working.

Audio

  • Serial fetch: one sound fetch in flight at a time.
  • Idle scan: startNextTransfer() scans every channel, source and preload map every idle frame (llaudioengine.cpp:477, 1000-1196).
  • Dead timer: mCurrentTransferTimer is set but never checked (:1188), so a stuck transfer blocks all sound until the 5-minute asset timeout.
  • Per-frame walks: idle() walks the std::map mAllSources 4 times and updateChannels() twice (:226-455).
  • Fix: N concurrent fetches plus a timeout; flat source storage; merge passes.
  • Confirmed. S-M.

Verify the cost (profile or timer) before and after changing it.

From the LL-origin inefficiency audit (finding C13). File/line references are from commit 0229f8872c; re-locate them before working. **Audio** - **Serial fetch:** one sound fetch in flight at a time. - **Idle scan:** `startNextTransfer()` scans every channel, source and preload map every idle frame (`llaudioengine.cpp:477, 1000-1196`). - **Dead timer:** `mCurrentTransferTimer` is set but never checked (`:1188`), so a stuck transfer blocks all sound until the 5-minute asset timeout. - **Per-frame walks:** `idle()` walks the `std::map` `mAllSources` 4 times and `updateChannels()` twice (`:226-455`). - **Fix:** N concurrent fetches plus a timeout; flat source storage; merge passes. - Confirmed. S-M. Verify the cost (profile or timer) before and after changing it.
sky_line added this to the Slipstream project 2026-10-06 15:04:14 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#381
No description provided.