Tuning for maximum performance
  • 17 Oct 2023
  • 5 Minutes to read
  • Dark
    Light
  • PDF

Tuning for maximum performance

  • Dark
    Light
  • PDF

Article Summary

To get the most out of your Composer setup, there are several items to check and configure. Below is a summary of the most common topics.

Composer

  • Use NVDEC for decoding your movie inputs. This will reduce the CPU load. (Requires Composer R3 2023 and newer)
  • Use NVENC for encoding your RTMP outputs. This will reduce the CPU load. However, there is a limitation on how many instances of NVENC can run in parallel. If you run into this limitation, Composer automatically selects the CPU as the decoder.
  • When possible, use still images instead of video clips. Video clips will render more load because of the continuous memory transfer from the host to the GPU.
  • Avoid using CAV files unless your project needs an animated alpha channel. CAV files will render more load than a h264 file using NVDEC.
  • Make sure all inputs and targets use the same frame rate.
  • Reducing the frame rate will reduce your server's overall load and allow longer processing times.
  • Use 48Khz audio instead of 44.1Khz. This will remove the need for audio transcoding and reduce the load.
  • Decklink output is somewhat slow compared to other outputs. If you need Decklink out, try activating the Free-running Targets option (Settings/GPU and Rendering Options) (experimental). This can reduce the workload and decrease the total processing time.

Hardware

  • Generally, the faster CPU (clock speed), the more CPU cores, the better. Single-core performance is more critical than multicore performance. 
  • A two-way CPU system does not always perform better compared to a single CPU system.
  • XEON processors are often more expensive than regular workstation processors from Intel and AMD. However, the higher cost does not always mean higher performance. When choosing a CPU, please check single-core (and multicore) performance using 3rd party comparison tools or websites.
  • Running multiple low-cost servers is usually more cost-effective than running a “super server”. An Intel i9 with Nvidia RTX4000 is one example of a cost-efficient setup. 
  • In many cases, the bottleneck of a server is the host-to-gpu memory transfer. A typical NVidia GPU does not support more than two memory transfers in parallel - no matter how many CUDA cores the GPU has. During this memory copy, the GPU is blocked from other operations. This can result in low GPU load but high processing time.
  • Make sure your server does not overheat. If the temperature is high, your server might throttle the GPU and/or CPU performance.

Selecting a CPU

As previously mentioned, the single-core performance of the CPU is an essential aspect when choosing a CPU for your setup. You can use https://www.cpubenchmark.net/singleThread.html to list the single-core performance of different processors. We strongly recommend using a CPU with a score of a minimum of 3000, a minimum of 8 cores (16 threads), and a multi-core score of a minimum of 19000.

Use multiple memory banks.

  • If your system supports 4x memory modules, make sure to utilize all of them. For a 32Gb system, it is better to use 4x8Gb instead of 2x16Gb or 1x32Gb.

Use fast memory modules.

  • The faster the memory modules, the better. Higher clock speed improves performance in Composer overall.
  • User DDR5 or DDR6 if possible. Use single-rank memory modules.
  • Ensure your Bios is configured to utilize the full speed of your memory modules. For example, your memory modules might support up to 4800MHz, but your Bios is configured to run the memory modules at 2133Mhz.

Selecting a GPU

  • Any Nvidia GPU compatible with CUDA 11.7 (or later) is compatible with Composer. For production setups, we do not recommend the consumer version of GPUs (GeForce). The Nvidia RTX series (4000, 4500, 5000, and 6000) is preferred.
  • The minimum recommended GPU is the RTX A4000, followed by A4500 and A5000.
  • Do not use your GPU for your display. Per default, your operating system will likely use the fastest GPU available on your server as the display driver. If your system only has one GPU or display adapter, your OS will share the GPU resource with Composer. The result is lower performance in Composer and higher processing times. It will also cause processing time to vary over time.

Options:

  • If possible, use the built-in graphics capabilities of your CPU (Intel only).
  • Add a secondary GPU. AMD Ryzen RX6400 is one such example. It is a compact GPU that does not require external power cables (Molex) and only consumes 55W. The small size and low power consumption allow the GPU to be mounted in almost all chassis. However, your motherboard needs to provide two (2) PCIe 16 slots (full length) to fit both the Nvidia GPU and the AMD GPU.

Currently, it is impossible to use two NVIDIA GPUs in Composer.

Disable Hyper-V in Bios

  • If your system supports Hyper-V, disable Hyper-V in Bios.

Operating System

Activate screen saver (Windows only)

On a single GPU system that uses the NVidia GPU as a display driver, processing time will become more stable as soon as the Windows Screen Saver gets activated. 

Windows 11 - GPU Power Management Mode

The default configuration of your Nvidia GPU uses a power-saving option called “Normal” and is optimized for a balance between performance and saving energy. This setting will reduce the capacity of the GPU during low load and increase the capacity during high load. This can be a bit confusing as the Processing Time of an operator can decrease when the load increases. This is somewhat counterintuitive.

This behavior is not wrong per se, but it may be confusing if you compare the processing time for a particular operator running on two different systems. A faster system (GPU) can actually have a longer processing time if the GPU load is low. However, this will change as the overall load increases, and eventually, the faster system will have a lower processing time.

It is possible to change the power-saving option to “Performance”, but this will increase power consumption, increase fan speed, and noise. Chancing to “Performance” mode will not increase the maximum capacity of the GPU.

Use the NVidia Control Panel to adjust the setting. Go to 3D Setting->Manage 3D Settings and either select a Global configuration (all applications), or change the Program Setting for Vindral Composer. Scroll down to the Power management mode option and select the Prefer maximum performance option.

Windows 10 does have this behavior. 

Remote access (Windows)

During a Remote Access session (Team Viewer, Remote Desktop, or similar), your GPU might be used by the remote access session itself. This might cause additional GPU load and increase Composer processing time. 

As soon as the Remote Access session ends, the load will decrease.

Use the runtime version of Composer

The runtime version might perform slightly better compared to the Workstation version. This is because the application does not have a GUI. However, if your OS uses a separate GPU for your display, the runtime version will perform very similarly to the Workstation version.

Use the Linux version

The Linux operating system can be more efficient than the Windows OS.

Monitoring (R4 2023)

The best method of monitoring performance in Composer is to use Grafana and the Extended Monitoring plugin. This will provide you with visual graphs of all essential metrics related to performance.

Extended Monitoring is licensed separately from Composer. Please contact RealSprint for more information.



Was this article helpful?