LL perf (Avatar/animation): Keyframe curves are std::map<F32,Key>; the loop-in wrap branch is dead #332

Closed
opened 2026-10-04 14:09:22 +00:00 by sky_line · 1 comment
Owner

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

Keyframe curves are std::map<F32,Key>; the loop-in wrap branch is dead

  • Where: llkeyframemotion.h:346/365/384; .cpp:169/249/330.
  • Dead branch: right == mKeys.end() inside the between-keys branch can never be true (:189/269/350).
  • Fix: sorted SoA arrays plus a cached last index; implement the wrap.
  • Confirmed. M.

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

From the LL-origin inefficiency audit (finding A8). File/line references are from commit 0229f8872c; re-locate them before working. **Keyframe curves are `std::map<F32,Key>`; the loop-in wrap branch is dead** - **Where:** `llkeyframemotion.h:346/365/384`; `.cpp:169/249/330`. - **Dead branch:** `right == mKeys.end()` inside the between-keys branch can never be true (`:189/269/350`). - **Fix:** sorted SoA arrays plus a cached last index; implement the wrap. - Confirmed. 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
Author
Owner

Shipped in a published release and tested; closing (testing-lane sweep 2026-10-11).

Shipped in a published release and tested; closing (testing-lane sweep 2026-10-11).
sky_line 2026-10-11 13:24:55 +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#332
No description provided.