Skip to content
Swing Catalyst Support Swing Catalyst Support
Contact support
Software & Features/ Motion Capture/ Swing Catalyst Motion Capture Settings

Swing Catalyst Motion Capture Settings

Introduction

This article describes how to setup and configure the Motion Capture functionality within Swing Catalyst. This feature may not be available for all license types, please see our Motion Capture FAQ for more information.

Requirements

  • Components need to be installed into the components directory.

Your computer needs to meet our PC specification recommendations, most importantly is that the graphics card meets our recommendations.

Configuration

The Motion Capture settings can be found from the main Settings menu under the “Video & Capture” section. From here you can select or change execution providers and batch size.

We recommend a batch size between 12 to 24 depending on how many active / enabled cameras you have.

Execution provider set to DirectML, with a note that DirectML gives good compatibility but not the best performance, and the Advanced settings toggle

Recommended Execution Provider

NVIDIA

  • NVIDIA RTX 3060 or newer GPU -> TensorRT

  • If TensorRT doesn’t work, try CUDA

Other graphics cards

  • DirectML

The default is DirectML as it’s the most compatible provider. It is also unfortunately the slowest.

During benchmark testing we’ve found TensorRT to be the most performant of the execution providers.

  • TensorRT is on average (35-45% faster than DirectML, 20-25% faster than CUDA)

  • CUDA offers moderate improvements over DirectML (10-12% on average)

  • CUDA uses significantly more GPU memory (VRAM) than TensorRT, please try to reduce the batch size if you use CUDA

Component download

If you select an engine that is not installed yet, the app asks you to download it.

From version 26.2, all motion capture models and the GPU acceleration files are downloaded from Settings > Optional Features. When components are missing, a banner at the top of the Motion Capture page tells you how many are needed. Click Download all needed to fetch them. The full guide is Optional Features: downloading motion capture components .

In version 25.2, the download prompt looks like this:

Execution provider set to TensorRT, with a prompt that it needs additional files, and the Download and Cancel buttons

Performance Benchmark

The benchmark dialog helps you find the optimal settings for your GPU. Two modes are available:

  • Quick Benchmark (~30 seconds): A fast adaptive test that identifies the best execution provider and batch size. Recommended for most users.
  • Full Benchmark (~7 minutes): An exhaustive test across all combinations of execution providers, batch sizes, and preprocessing strategies. Use this for detailed analysis or if Quick Benchmark results seem unexpected.

After benchmarking, click Apply Best Settings to automatically configure the optimal execution provider, batch size, and preprocessing strategy for your GPU.

Recommended Batch size

According to our testing batch larger batch sizes give better performance. We recommend a batch size between 16 to 24 for a typical 2-3 camera setup. If you’re using other software at the same time that requires graphics resources it may be beneficial to try a lower batch size. Ultimately the best batch size may depend on your work flow and what kind of programs you have running in addition to Swing Catalyst.

Advanced Settings

Below the execution provider settings are the advanced settings where you can change the detection model or enable “FP16”.

Changing the detection model from Medium to Nano can reduce how much memory your graphics card uses and improve performance, at the cost of accuracy.

If you’re struggling to get a decent detection, try to change the model to Medium, restart Swing Catalyst and try again.

  • The default detection model is Nano

  • “FP16 for TensorRT” is by default not checked

FP16

Using FP16 can reduce memory usage and improve performance (at the cost of accuracy).

During testing we’ve found that FP16 can improve performance by 20-35%.

It may also produce more inconsistent results between recordings than the default FP32. It may be worth trying if you are having problems with performance or if you’re running out of memory.

Advanced settings with Detection Model set to Nano and Use FP16 for TensorRT checked

Performance comparisons

Bar chart Batch Size 32 Performance (FPS): TensorRT about 185 FPS, CUDA about 155 FPS and DirectML about 140 FPS

TensorRT (purple), CUDA (pink), and DirectML (green), left to right. The Y axis (FPS) is the amount of frame per second the motion capture model is capable of processing and isn’t directly related to your camera’s frame rate.

Line charts of FPS by batch size from 8 to 42 for TensorRT, CUDA and DirectML: about 45 to 73 FPS with 2 cameras and about 22 to 36 FPS with 4 cameras, TensorRT highest

The performance metric (FPS) is how many frames per second are processed, the higher number the quicker it will process. As you can see in the above illustration both CUDA and TensorRT are almost linear. E.g. You go from one to two cameras you see almost half the performance. This performance hit is less noticeable with newer NVIDIA graphics cards.


Last updated on