Video Device In Latency

Hi Folks,

I just completed a show where i did use Touchdesigner to add effects to a captured HD-SDI Feed. I really liked the workflow and results but would like to try to get even faster results in terms of latency.

This show I ran on a modern PC (amd 5950x + rtx 3090) with a Blackmagic Decklink 8k Pro capture card. From the SDI input to the HDMI on the GPU I got around 4-5 frames of latency. With a 1080 50p signal this is around 100ms which is impressive. A mediaserver like Disguise also has 4-5 frames latency.

This amount of latency is not bound to the framerate of the input source. So a 25p signal is also 4-5 frames which result in about 200ms delay. So the higher the framerate the better.

4-5 frames latency has been around for years and does not seem to improve. My guess is that its not a typical hardware issue.

Is there a way to be even faster? Do other brands like Bluefish or Aja have fewer frames latency or is this due to a buffer in between the sdi card and the GPU? In disguise, you can lower the buffer to 3 or 4 frames which will work if your input source and outputs are stable but i can’t find a buffer size parameter in Touchdesigner or Blackmagic software.

I’m also wondering if the performance of Touchdesigner is heavily linked to the number of capture inputs. The current workflow is to preselect a camera on an aux bus of a broadcast mixer. This feed is fed into the touchdesigner machine which adds the effects and sends a signal with effect back to the mixer. This preselection takes also 1 or 2 frames depending on the mixer. Ideally, I would capture all cameras (in this case 8) directly and pick a single camera in touchdesigner and add effect onto it. Does having 8 video device in tops a performance impact or is Touchdesigner just reading a texture from the pinned memory?

Please provide me with tips were possible.

AJA may have a frame or two less. If you use the new ‘Sync To Input Frame’ mode for AJA then you can reduce the latency on input to 0, although it has a performance cost due to no longer having a queue on the input.

Certainly having more inputs requires more resources. Lots of people do use 8 inputs though. It just depends on your system (motherboard, CPU, memory, GPU etc.) to know if it can handle all of that. There isn’t any way to know if you’ll run into performance losses until you test it on your particular hardware.

1 Like

Thank you Malcolm.

Makes sense. Does this work on all Aja devices? Or only a specific range?

Sync to input Frame should work on any AJA device