Enable or disable hardware acceleration

Automatic hardware accelerated video decoding for motion detection is the default setting when you add a camera. The recording server is using GPU resources if they are available. This will reduce the CPU load during video motion analysis and improve the general performance of the recording server.

To enable or disable hardware acceleration

  1. In the Site Navigation pane, select Devices.
  2. Select the relevant camera in the Overview pane.
  3. On the Motion tab, under Hardware acceleration select Automatic to enable hardware acceleration or select Off to disable the setting.

Use of GPU resources

Hardware accelerated video decoding for motion detection uses GPU resources on:

  • Intel CPUs that support Intel Quick Sync
  • NVIDIA® display adapters connected to your recording server

Load balancing and performance

The load balancing between the different resources is done automatically. In the System Monitor node you can verify if the current motion analysis load on the NVIDIA GPU resources is within the specified limits from the System Monitor Thresholds node. The NVIDIA GPU load indicators are:

  • NVIDIA decoding
  • NVIDIA memory
  • NVIDIA rendering

If the load is too high, you can add GPU resources to your recording server by installing multiple NVIDIA display adapters. Milestone does not recommend the use of Scalable Link Interface (SLI) configuration of your NVIDIA display adapters.

NVIDIA products have different compute capabilities.

Hardware accelerated video decoding for motion detection using NVIDIA GPUs requires compute capability version 6.x (Pascal) or newer.

  • To see if video motion detection is hardware accelerated for a specific camera, enable logging on the recoding server log file. Set level to Debug and diagnostics is logged to the DeviceHandling.log. The log follows the pattern:
    [time] [274] DEBUG – [guid] [name] Configured decoding: Automatic: Actual decoding: Intel/NVIDIA

The OS version of the recording server and CPU generation may impact performance of hardware accelerated video motion detection. GPU memory allocation is often the bottleneck with older versions (typical limit is between 0.5 GB and 1.7 GB).

Systems based on Windows 10 / Server 2016 and 6th generation CPU (Skylake) or newer can allocate 50% of system memory to GPU and thereby removing or reducing this bottleneck.

6th generation Intel CPUs does provide hardware accelerated decoding of H.265, so the performance is comparable with H.264 for these versions of CPU.