Nuitrack using a lot of performance

When using the Unity profiler I can see Nuitrackmanager.update() uses a lot of CPU. It’s at around 80-90% of total CPU usage. It also alocates like 2 to 3 MB of GC every frame. Any idea how I can reduce this? My application is curently running at 20fps on our touch screens. On my PC it runs at 60fps but on our touch screens which are less powerfull of course it runs at around 20fps.

Could I also have more information about what is important for Nuitrack? There’s only an on-board graphics card inside the screens, could that be the issue? It has a okayish CPU and RAM.

I would like some info about how to optimize Nuitrack and what is important for performance etc. Anything that can help me with general refactoring/optimizing performance.

Anyone can help me? Optimizing this is a must for our project which needs to run on low end screens.

Nuitrack is designed to take not more than 25% of quad core ARM CPU such as in TVico Android Box (or Persee). you can find specs at what processor you have? and Nuitrack cannot utilize GPU.

1 Like

My laptop has a GTX 1070 and a I7 7700HQ. Which runs it fine

The screens it is supossed to run on vary a lot.
A few are:

Intel® Core™ i5-6400
Intel® Pentium® 4415u
Intel® Core™ i5 7200u
Intel® Core™ i7 7600u

My initial tought when out to the GPU because all these screens have are some onboard cards like:

Intel® HD Graphics 620
Intel® HD Graphics 610


They don’t have a lot of ram either. Is that maybe a problem?
they have either 4GB DDR4L 2133 MHz or 8GB DDR4L 2133 MHz

Nuitrack does not utilize GPU, and running on CPU with 30fps uses about 25% of quad core ARM CPU on TVico (with 2G RAM). it seems should work fine with decent CPUs…

odd… Nuitrack does run fine in the Nuitrack test viewer on those screens. Just in the app itself (when the model moves with it) it seems to get really bad.

it seems you need to optimize your app, say, if it requires more than 75% of CPU there will be no room left for Nuitrack process

I understand. Weird part is without Nuitrack it runs a lot better. But I will do some optimalization this week. Thanks for the input and clarification :slight_smile:

Hi Patrick,

Please contact so we can send you a special version of Nuitrack that can help to solve this issue.

1 Like

Hi Olga, That sounds great. Any idea what’s so special about that version of Nuitrack that it’s not included in the regular version?

This version of assembly includes a static recyclable buffer. Please note that there
can only be one valid Frame for each frame type. That is, one ColorFrame, one DepthFrame, etc.

Alright, that shouldn’t influence my project. At least not that I think of. Thanks for the PM :slight_smile:

Hi I’m having the same problem. I changed the maxload in the config file. Nuitrack still use use 98% of the CPU even in the test app. My specs are as follow:

  • 12th gen i9-12900k
  • GeForce RTX 3090 Ti
  • intel realsence depth camera D435

Question was resolved via

Currently there’s no way to limit CPU usage using AI tracking engine. You can use classical tracking engine (do not tick AI tracking in Nuitrack.exe / do not set Skeletonization.Type to CNN_HPE in nuitrack.config)