Performance (7)
  • 19 Mar 2024
  • 5 Minutes to read
  • Dark
    Light
  • PDF

Performance (7)

  • Dark
    Light
  • PDF

Article Summary

You will find the Performance section on the right side of the Scene view window. Here, you find information on processing time (the time it takes for Composer to render one frame), uptime, errors and warnings since the application started, etc. The most important thing to keep track of (from a performance perspective) is the processing time. Other KPIs:s and functions are more useful when debugging or tracking down issues.

The performance of Composer is dependent on the server hardware. Find more information about tuning your server.

Framerate
In the center of the circle, you set the frame rate (FPS) of your setup. Frame rate (expressed in frames per second or FPS) is the frequency (rate) at which consecutive images called frames appear on display. The term applies equally to film and video cameras, computer graphics, and motion capture systems. Frame rate affects the processing rate as well as the frame rate of most target components such as the RTMP target.

A recommendation is to use the same frame rate as your input sources (cameras etc.). Ideally, all inputs should run at the same frame rate as the frame rate of Composer. However, there are many scenarios where you want to limit the FPS to a lower setting. If you target a 25 FPS RTMP stream, you should set the FPS to 25 regardless of the FPS of the inputs.

Important!
Unlocking and changing the project fps will restart all RTMP, NDI and Decklink targets. When changing the fps it is recommended to save the project and restart Composer.
Note!

The available processing time for each frame is dependent on the framerate. A setup running at 50 FPS has 1/50 of a second available for processing (=20ms), while a setup running at 25 FPS has 1/25 of a second available (=40 ms). Using higher frame rates requires more GPU power compared to lower frame rates. The most common frame rates are 50, 29.97, and 25 FPS.

License
At the top, the license information is displayed.

Live Preview
The Live Preview section is only available if enabled in Settings.

With Live preview it is possible to share a live stream of the Scene view using Vindral CDN. When enabled, a section for Live Preview will be visible under the Performance panel. The Live preview is not intended for broadcasting to an audience. Instead, use the RTMP target when broadcasting to your viewers. The Live Preview is a quick way to share internally, with a limit of 10 simultaneous viewers.

Click "Start" to start the Live Broadcast. The "View in Browser" will open up Vindrals QoS player where you can watch the live stream. This url can be shared internally so others can view the Live Preview.

Performance
The "?" links to the online documentation (this webpage). 

Below the FPS dropdown, you see the current processing time (in ms) and an average processing time over the last 10000 frames. The nominal value represents the number of milliseconds available when rendering a single frame. We recommend that your processing time should not exceed 80-90% of the nominal time. More performance information can be found in the Performance and optimization chapter.

  • Project: Filename of the current running project. If the running project is stored in the Projects folder, the information will only contain the filename (not the full file path).
  • Worker queue size: Number of frames in the internal processing buffer. Usually, this should be 0 or close to 0.
  • Congestions: The number of times when the worker queue has exceeded 50 (default, or the value set under “Max Processing Cue Size” in Settings), and the system is considered congestive. When a congestive state occurs, the system will flush the worker queue.
  • Worker queue flushes: The total number of queue flushes since the application was started
  • CPU usage: Current CPU Utilization.  
  • GPU Power usage: Current power utilization
  • GPU Power usage: Current Power consumption of the GPU
  • GPU Power Management: Nvidia "Prefer maximum Performance" enabled 
  • GPU Power State (0-8): In what Power state is the GPU running in. (0 = fastest, 8 = slowest)
  • GPU Utilization:  Current GPU Utilization. (This is dependent on the GPU Power state)
  • NVENC Utilization: NVENC utilization (Nvidia encoding)
  • NVDEC Utilization: NVDEC utilization(Nvidia decoding)
  • Application started: Date/time for application start
  • Session started: Date/time for session start
  • Session uptime: Uptime since the application was started
  • Reported errors: Total errors since the application was started.
  • Last error: Date/time and message of the latest error
  • Reported warnings: Total warnings since the application was started.
  • Last warning: Date/time and message of the latest warning
  • Alarm activated: Date/time when last alarm was triggered.
  • Alarm counter: Number of alarms triggered.
  • Alarm cleared: Date/time when last alarm was cleared.
  • Alarm active: The alarm has been triggered. Press the button to manually clear the alarm. Alarm will be automatically cleared  after the configured time (configured in Settings/Alarms).
  • Authorized Api calls: Number of Api calls
  • Last authorized Api call: Date/time of last API call

Performance options

  • Autostart inputs - enable this option to automatically start all inputs when the application is started (or project loaded). In most production scenarios, this option should be enabled.
  • Autostart targets - enable this option to automatically start all targets when the application is started (or project loaded). In most production scenarios, this option should be enabled.
  • Log performance* - Logging performance enabled
    Example:
    [2023-09-13 10:33:46.651 [Information] [2500] [SystemLabel ] PerformanceLog {"congestionsLastSecond": "0", "processingQueue": "0", "numWorkerQueueFlushesSinceStart": "0", "uptime": "0.00:00:19:300", "avgProcessingTime": "7,8", "maxProcessingTime": "21,3", "avgProcessingTimeUsage": "23,4", "avgProcessingTime10k": "11,0", "avgProcessingTimeUsage10kUsage": "33,0", "congestiveFrames": "0", "processRAMUsageGB": "0,74508667", "runTimeState": "Idle", "gpuRAMUsed": "1,597/11,994", "gpuPowerDrawPercentage": "15", "gpuPowerDraw": "35", "gpuPowerDrawLimit": "200", "gpuPowerState": "2", "gpuPowerManagement": "True", "gpuName": "NVIDIA GeForce RTX 4070", "gpuUtilization": "20", "gpuEncoderUtilization": "0", "gpuDecoderUtilization": "0", "cpuUtilization": "3"} ]

  • Use extended logging* - Enable this option to enable extended logging.
    This option is useful for getting information about RTMP input and targets.
    Example:
    [2023-09-12 11:53:12.239 [Information] [2055] [SystemLabel] TargetStatistics {"GetStatistics": "", "Name": "RTMP Target", "ConnectionStatus": "Connected", "UpTimeSinceStartTimeSpan": "00:00:18.9664998", "CurrentRTMPEndPoint": "rtmp://myrtmpingesturl.com/live/mystream", "OutgoingBitRateMbitPerSecond": "1.118671", "NumAutoReconnectsperformed": "0", "AverageVideoEncoderTimeMs": "6.6467999999986205", "MaxVideoEncoderTimeMS": "19.94959999999992", "AverageNetworkWriteTimeMs": "0.09729999999763095", "OutputQueueSize": "0", "ErrorCount": "0", "LastErrorDateTime": "", "WarningCount": "0", "LastWarningDateTime": "", "VideoFramesWritten": "569", "AudioFramesWritten": "889"}

* Only visible if “Enable debug features” is enabled in Settings.

Performance actions (buttons)

There are six buttons in the Performance section:

  • Open log window - opens the log window :)
  • Save a snapshot of the application state - All properties displayed in the GUI are saved to an XML file in the root folder of the application. The file will be named “Properties_Snapshot”_dateandtime.xml. Useful for debugging scenarios where the support team needs more information on the application state.
  • Start* - For debugging/testing only.  Starts the project. *
  • Stop* - For debugging/testing only. Stops the stops project. * 
  • Set congestive* - For debugging/testing only - Simulate max congestion in the project, which will force an auto restart.  *
  • Toggle Pause* - normally, Composer runs at all times. No need to stop, start or pause the rendering.  * 
  • Trigger error* - triggers an error. * 
  • Trigger warning* - triggers a warning. * 

* Only visible if “Enable debug features” is enabled in Settings.


Was this article helpful?