Performance - how to get the most out of CPU and GPU running Netcam Studio 1.9.(NCS)

Hi,
How do I get the best out of my computer running Netcam Studio?
What parameters affect the performance most?
I am running a very high cpu load. How can that be lowered?
Can I use my old computer or must I buy a new expensive one?

All very good and important questions so here comes some guidelines what to look for and how to optimize.

By an optimization I have to my surprise discovered that one can quite often use an old computer with an i3 or i5 processor if you only have two to four cameras and moderate demands on resolution and speed.

Just a friendly recommendation here. In the following many settings can be changed and the final result depends on all the settings. So go slow, write down settings and changes so you can go back. Actually, this is a very interesting experience and you will learn a lot, but go slow and have fun!

Every installation is unique so therefore I recommend to start with a few cameras so CPU load is around 50%. Then you can change parameters and discover what happens. Always check in Task manager what is happening with the total CPU and GPU load and also the Received Ethernet speed.

You can read NCS´s consumption of cpu resources on several places. However, the important reading for final performance is the total CPU load in the Task Manager. NCS can have a very low reading for cpu usage, but the total CPU load in the Task Manager can be high. This is due to that there are many processes running on the computer that take up resources. Therefore, a dedicated computer for NCS is always best since it is possible to get rid of unnecessary programs and minimize number of processes running. A desktop computer used for email, word processing etc. will always have less cpu resources left for NCS.

So here are some parameters that affect the usage of cpu resources:

  • camera resolution, usually by default the camera is set to highest resolution. Do you really need that for the application?
  • camera frames per second, usually by default the setting is the highest frames per second. Do you need that in your application?
  • camera bitrate, not al cameras have a setting for this. If possible limit the bitrate and check the video quality. A bitrate (above 10 bit/sec) use a lot of cpu resources.
  • decoding buffer do not affect cpu resources, but it consumes RAM. Some cameras need a little bit longer buffer to work properly. If camera work properly use default setting.
  • if you have a GPU use that for decoding of the camera stream. Use DXD3.
  • disable overlay (only possible for licensed versions). Add text, logo, time etc use extra cpu resources.
  • run NCS as a service and connect to NCS using the Windows and/or web client from another computer. Running NCS X, blue icon, use a lot of cpu resources to show the camera videos.
  • use the GPU for decoding and encoding.
  • multi-threading is good if the recorded files jumps in time. That with give the encoder some extra resources if necessary.
  • recorded frames per second affects a lot depending on how often it records. I usually use 10 frames pers second for normal applications. A higher number use more cpu resources and also the files will be larger.
  • use variable frame rate (default)! If you change that the cpu load will usually go very high.

If there are many cameras and you really need that extra from the CPU I recommend to change the Power Plan. Default in Windows and most processors the Power Plan is set to Balanced. If you need change that to High Performance. Go to Control panel – Power Options and change to High Performance. I have noticed that in Windows 10 that option might be hidden and you need to do some commands to make it visible. Do a search for this on Internet and you will find many how to do this. This will also be different if you have a computer with a cpu in the i-series or if you have a Xeon processor. Unfortunately, I am not familiar with AMD, but somehow it should be similar.

Finally, there are many used computers out there that you can buy for a very reasonable price. If the installation is a heavy one with many cameras a server computer with a Xeon processor complemented with a graphics card can be a good solution. Xeon processors have many cores/threads which NCS like since many calculations can be made in parallell. Used servers usually have a really good price. A server solution gives also a very high stability and reliability.

Finally finally what about RAM and hard disk? For RAM I should say start with 8 GB. You can easily see how much memory NCS use. More cameras and also a longer decoding buffer eat memory, but check in Task Manager. For hard disk, in my larger installations I use regular HDD and even NAS for storage. Large SSD´s are still relative expensive so …

Good luck and happy learning!
Henrik

2 Likes

Would my setup be acceptable for 6-10 cameras?

AMD FX6100 3.9ghz (6 core)
16 GB RAM DDR3 1600
Nvidia GeForce 560ti 2GB
8TB HDD

Yes it might work, but from my text above it will all depends on camera resolution, FPS and bitrate. If the cameras encode into h.264 (streaming with rtsp) you can use hardware acceleration and the GPU on the graphics card which off-loads the CPU a lot.
Amount of RAM is fine. Amount of HD storage depends on how many recordings and retention time.
So add a couple of cameras at a time and notice how the system reacts.
-Henrik

Well, running three cameras at maximum FPS, I am only using a total of 12% on the CPU (9.3% by Netcam Studio).

I think she will be able to handle it!!

1 Like

Looks good! It would be interesting to see how much the GPU is working. Can you check under the tab for Performance.

This is a snapshot from Performance. This is running three cameras at full FPS and using the Netstudio app on my iPhone to view cameras.

I’m also adding an SSD today to copy my system over to.

Thanks a lot for valuable info.
-Henrik