avoid calling senseglove glove data retrieval api from tickcomponent functions and instead offload those to background timers

This commit is contained in:
Mamadou Babaei
2025-09-09 11:32:44 +02:00
parent 3c77ca516b
commit bbb3595147
10 changed files with 225 additions and 201 deletions
+11
View File
@@ -35,6 +35,13 @@ This minor release focuses on delivering performance improvements, made possible
- Renamed third-party module `SGSerialThirdPartyLibs` to `SGWjwwoodSerialThirdPartyLibs` since SenseGlove libraries >= `v2.300.0` ships a new static library named `sgserial`. Thus, to avoid confusion and naming conflicts the third-party `serial` static library is now provided by the `SGWjwwoodSerialThirdPartyLibs` module and `sgserial` is provided by the `SGSerialThirdPartyLibs` module.
- `FSGGloveTrackingSettings::GloveConnectivityCheckInterval` settings have been renamed to `FSGGloveTrackingSettings::DataRetrievalRefreshRate` for adoption other than glove connectivity use cases.
- The hand velocity sampler is now timer-based instead of being tick-based and the update interval is controlled via `SGPawn::HandVelocitySamplerFramerate`.
- Glove data retrieval and related calculations have been moved from `USGVirtualHandComponent::TickComponent()` and `USGWristTrackerComponent::TickComponent()` into background timers, reducing the performance overhead of any SenseGlove API calls.
- `USGVirtualHandComponent::GetMotionControllerData()` signature has changed.
- `USGVirtualHandComponent::GetHandTrackingState()` signature has changed.
- `USGWristTrackerComponent::GetMotionControllerData()` signature has changed.
- `USGWristTrackerComponent::GetHandTrackingState()` signature has changed.
- `USGVirtualHandComponentKismetLibrary::GetMotionControllerData()` signature has changed.
- `USGVirtualHandComponentKismetLibrary::GetHandTrackingState()` signature has changed.
### Removed
@@ -44,6 +51,10 @@ This minor release focuses on delivering performance improvements, made possible
- Cleaned up remnants of the long-removed Unreal Engine `5.2` from `SenseGlove.Build.cs`, `SenseGloveKismet.Build.cs`, `SenseGloveTracking.Build.cs`, files.
- Cleaned up remnants of the long-removed Unreal Engine `5.2` from `SenseGloveTracking` module.
- `SGPawn::Tick()` is no longer handled in order to improve performance and reliability. The hand velocity sampler is now timer-based instead of being tick-based and the update interval is controlled via `SGPawn::HandVelocitySamplerFramerate`.
- `USGVirtualHandComponent::GetMotionControllerState()` has been removed.
- `USGWristTrackerComponent::GetMotionControllerState()` has been removed.
- `USGVirtualHandComponentKismetLibrary::GetMotionControllerState()` has been removed.
- `USGWristTrackerComponentKismetLibrary::GetMotionControllerState()` has been removed.
### Documentation