How to reduce LoopThrough latency?
Posted: Thu Apr 01, 2021 4:27 pm
Hello!
My task is to get a frame from the input, process it, and display it on the output.
I used a Keyer to test the lowest possible hardware latency, and I got ~0.5 frame at 30 fps with genlock.
Unfortunately, the Keyer is not suitable for my task, and I have to process the frame on GPU (Metal 2).
Simple implementation via:
VideoInputFrameArrived -> do nothing -> DisplayVideoFrameSync
gave a delay of ~3 frames at 30 fps with genlock.
What makes this delay of 3 frames? Are there any ways to reduce this latency?
Thank you!
[ macOS 10.14.6, SDK 11.6, DeckLink Quad 2 ]
My task is to get a frame from the input, process it, and display it on the output.
I used a Keyer to test the lowest possible hardware latency, and I got ~0.5 frame at 30 fps with genlock.
Unfortunately, the Keyer is not suitable for my task, and I have to process the frame on GPU (Metal 2).
Simple implementation via:
VideoInputFrameArrived -> do nothing -> DisplayVideoFrameSync
gave a delay of ~3 frames at 30 fps with genlock.
What makes this delay of 3 frames? Are there any ways to reduce this latency?
Thank you!
[ macOS 10.14.6, SDK 11.6, DeckLink Quad 2 ]