High CPU Usage
CompletedHi there, I am loving NX Witness so far, coming up with 70 licenses to set up in my factory. However, I am having some issues with the desktop clients. I have a relatively powerful PC set up, i7 8700 with Quadro P1000. The Quadro P1000 is lacking I know but Having 15 streams on one window(with 90% fisheye dewarping at h265) result in about 80% CPU Usage and only 30% GPU usage.
Is this because most of the decoding of h265 happens on the CPU? I tried creating another window but the CPU usage shoots up to 100%. It seems like there is no way to split to 2 monitors without having to get reasonable CPU usage.
Are there plans to optimize the GPU usage further? Also, is there a way to record in H265 but view in H264?
Thank you!
-
Official comment
Hi Gyver -
Nx Witness does not utilize GPUs other than for some YUV rescaling (e.g. moving things around on the Desktop Client). All decoding is done on the CPU. We have an adaptive scaling technology that is at the core of what makes Nx Witness lightweight - so if you are forcing the Desktop Client to decode 15 HD or HD+ streams you're going to see high CPU usage. Alternatively, if you let Nx Witness optimize your cameras and settings it will pull 2 streams from each camera - a high res stream and a low-res stream (e.g. 480 x 270). Then the Desktop will automatically display high and low res streams depending on a few factors.
You can read more about this core technology here: https://support.networkoptix.com/hc/en-us/articles/360010086473-Dual-Streaming-Adaptive-Scaling-Explained
-
Reduce ur secondary stream settings.
Make primary stream recording0 -
Hi Samal, thank you for your reply!
Does your recommendation help in reducing the CPU usage on the desktop viewer? I don't see how reducing those will help in reducing CPU usage on the NX Client.
Thank you :)
0 -
Hi Gyver,
Please submit this as a support ticket and we are more than happy to investigate the system to see what is causing the high CPU usage.
In general when the hardware resources peak, the cameras will switch from the mainstream to the substream and in this way, the load on the hardware will be less when the resolution is less.
More about this technology can be read HERE.
0 -
Thanks Norman, I will submit a ticket for this issue!
0 -
Hi,
is decoding on GPU on NX witness server planned for future ? We have also noticed that when analytics plugin is asking for decoded frames from stream, there is high CPU usage on Nx server machine.
It is hard to scale multiple analytics plugin integration Due to lack of GPU decoding on Nx server.
Thanks for response.
0 -
Hi @...,
Take a look at this LINK.
0 -
Thanks for the link.
But If I got it right it is client side GPU decoding, but analytics plugins are running on server side so I guess this will not solve the problem.
0 -
Hi @...,
Thank you. You're right. I should sleep late at night, instead of replying and just wait till the morning after my coffee.
Server side GPU decoding is not planned, for two reasons.- Many servers don't have a GPU and run headless.
- Resources used by the Nx Server application are limited, so if you upgrade from our recommended hardware requirements, enough power should be available for the majority of applications. For really resource intensive applications, a dedicated server might be the best solution.
Lastly, if an application uses a lot of resources it is fair to request GPU decoding to the developer of the specific application.
0
Post is closed for comments.
Comments
9 comments