RenderHeads / UnityPlugin-AVProDeckLink

AVPro DeckLink is a Unity plugin for broadcast CG using Blackmagic capture hardware
https://renderheads.com/products/avpro-decklink/
9 stars 1 forks source link

[#GPxMA] Reduce output latency #2

Closed AndrewRH closed 5 years ago

AndrewRH commented 5 years ago

Hello,

My I'm working with software development used for Japanese television broadcast.

Currently, I'm developing an AR application for broadcast using Unity, and I'm using the AVProDecklink asset for my project.

After several testing, I have found out that the image that is rendered within Unity and linked to final device through the output stream is currently delayed by 6~8 frames, however in the broadcast business, this delay needs to be restrained to 3~4 frames delay.

I have also tried using the "low latency output" option within the asset, but the delay did not change and the image did not stream as smoothly.

Is there any method to improve the delay?

Best regards,


Unity 2018.2.20f1 AVpro DeckLink ver. 1.6.3 DeckLink 4Kpro Desktop Video 10.11.4 HP z440 Xeon E5-1650v4 32GB GeForceRTX2070

AndrewRH commented 5 years ago

There is no real way to do this in our plugin, but there are a few things you could try:

1) In your GPU driver, you can set the maximum number of pre-renderd frames: image

2) I think you can also set this in Unity: QualitySettings.maxQueuedFrames https://docs.unity3d.com/ScriptReference/QualitySettings-maxQueuedFrames.html

We also have the "buffer balance" variable on the DeckLinkOutput component, which can be lowered. I think this will reduce latency, but it should affect smoothness of output.

I hope this helps you.