Make ktmath object-less #838

Closed
opened 2026-04-05 23:11:50 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @ImUrX on 3/13/2024

This should improve performance in SlimeVR by making all math classes not be boxed into the heap.

  • Implements an object wrapper for Quaternion so it's simpler to save in the Jackson config
  • Converts classes that use Quaternion into Kotlin so they can compile
  • Should check if config works correctly
  • HumanPoseManager got a big rewrite by using lateinit, it was simplified by a lot, but also requires testing just in case.
*Originally created by @ImUrX on 3/13/2024* This should improve performance in SlimeVR by making all math classes not be boxed into the heap. * Implements an object wrapper for Quaternion so it's simpler to save in the Jackson config * Converts classes that use Quaternion into Kotlin so they can compile * Should check if config works correctly * `HumanPoseManager` got a big rewrite by using `lateinit`, it was simplified by a lot, but also requires testing just in case.
MrUnknownDE added the Area: ServerDifficulty: Large refactorType: EnhancementArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerArea: ServerDifficulty: Large refactorDifficulty: Large refactorDifficulty: Large refactorDifficulty: Large refactorDifficulty: Large refactorDifficulty: Large refactorDifficulty: Large refactorType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: EnhancementType: Enhancement labels 2026-04-05 23:13:00 +02:00
Sign in to join this conversation.
No Label Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Area: Server Difficulty: Large refactor Difficulty: Large refactor Difficulty: Large refactor Difficulty: Large refactor Difficulty: Large refactor Difficulty: Large refactor Difficulty: Large refactor Difficulty: Large refactor Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement Type: Enhancement
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/SlimeVR-Server#838