Skip to main content

What can limit encoding performance?

Understand what bottlenecks you may encounter.

Updated over 4 months ago

Sometimes your performance test results, or the encoding performance of a deployed EVVR Container encoder, seem lower than you have anticipated.

We have listed below a few reasons why this may happen and some ways you may diagnose it.

Not enough bandwidth

  • This can happen because:

    • There's a poor network connection between the encoder and the server.

    • The "bandwidth limit" for the encoder has been set too low on the server.

  • Why this is a problem:

    • Depending on the scene, a single stream can require up to 2MB/s to maintain a 1080p / 30fps stream.

  • How this will be illustrated:

    • A "Limited by available bandwidth" message will be shown on the performance page.
      ​

Slow processor clock speeds

  • This can happen because:

    • You have a lower-powered or older CPU.

    • You have a newer CPU that uses "efficiency cores"

  • Why this is a problem:

    • Each encoding stream can only utilise a maximum of 2 threads at once.

    • Unfortunately, this can result in spare cores and therefore processing power not being utilised.

    • This can be confusing for users who expect a CPU with multiple spare cores to handle the workload.

  • How this will be illustrated:

    • A "Limited by device performance" message will be shown on the performance page, with the CPU reporting less than 100% utilisation.

    • A lower-than-expected performance may be output by the performance testing tool, with the CPU reporting less than 100% utilisation.
      ​

Available host resources are overloaded

  • This can happen because:

    • You have tried to run too many streams or too high a quality.

    • If the EVVR Container is on a machine with shared resources, applications external to the encoder can affect performance.

    • There isn't enough RAM or cache to reach the intended performance.

  • Why this is a problem:

    • Encoding can be limited by:

      • CPU (speeds, threads and cache)

      • RAM

      • Temperature throttling

    • When these are overused, stability and encoding performance can suffer.

  • How this will be illustrated:

    • A "Limited by device performance" message may be shown on the performance page.

    • On the performance page, there are illustrations at the top of the page showing the load for any metrics we may have access to.

    • A lower-than-expected performance may be output by the performance testing tool.

Did this answer your question?