Download

problem with synchronization two Unreal instances using nDisplay plugin

Hi all,
We have the issue with nDisplay synchronization. We use two displays to display single 3D scene. Each display is connected to independent Unreal Instance on different computer. Each computer has nVidia RTX A6000 GPU and Quadro Sync II cards. nVidia drivers version is 471.11, Unreal version is 4.26.2. One computer is master. Genlock signal is connected to video Quadro Sync II card in master PC and two Quadro Sync II cards are connected together by Framelock. Each display has 2880x1728 resolution.
In the NVIDIA Control Panel → Workstation → View system topology everyting looks well - the status of Vertical sync, External sync signal (master), framelock sync pulse, timingView system topology.

Unreal project is based on InCameraVFX default template. Below is the content of nDisplay configuration file:

[info] version=“23”
[cluster_node] id=“node_wallR” addr=“192.168.30.31” window=“wnd_wallR” master=“true” sound=“true”
[cluster_node] id=“node_wallL” addr=“192.168.30.32” window=“wnd_wallL”
[window] id=“wnd_wallR” viewports=“rtt_inner,vp_wall2” fullscreen=“true” WinX=“0” WinY=“0” ResX=“2880”
ResY=“1749”
[window] id=“wnd_wallL” viewports=“rtt_inner,vp_wall1” fullscreen=“true” WinX=“0” WinY=“0” ResX=“2880”
ResY=“1749”
[viewport] id=“vp_wall1” x=“0” y=“0” width=“2880” height=“1749” projection=“proj_warp1a” buffer_ratio=“1”
[viewport] id=“vp_wall2” x=“0” y=“0” width=“2880” height=“1749” projection=“proj_warp1b” buffer_ratio=“1”
[viewport] id=“rtt_inner” x=“0” y=“1749” width=“1920” height=“1080” projection=“proj_incamera” rtt=true
[projection] id=“proj_warp1a” type=“picp_mesh”
[projection] id=“proj_warp1b” type=“picp_mesh”
[projection] id=“proj_incamera” type=“camera”
[camera] id=“camera_static” loc=“X=0,Y=0,Z=0”
[input] id=“MAxis” type=“analog” addr=Mouse0@127.0.0.1
[input] id=“MButtons” type=“buttons” addr=Mouse0@127.0.0.1
[input] id=“KButtons” type=“buttons” addr=Keyboard0@127.0.0.1
[general] swap_sync_policy=“2”
#[nvidia] sync_group=2 sync_barrier=2
#[nvidia] sync_group=2
#[nvidia] sync_barrier=2
#[general] sync_group=“1”
#[general] sync_barrier=“1”
[network] cln_conn_tries_amount=“10” cln_conn_retry_delay=“1000” game_start_timeout=“300000”
barrier_wait_timeout=“50000”

We tried swap_sync_policy=1, 2 and with/without optional commented options. There is no documentation about this parameters, so we are not sure what values are proper here.

nDisplay Launcher and nDisplay Listener don’t show any issues. Listener is connected.

In the above configuration we still have issues with synchronization of two displays. The difference between two displays vary in time and is 2-10 frames. As this is large value the issue is probably with nDisplay communication - the process that is responsible of rendering the same frame in the same time doesn’t work and both nodes run asynchronously.

Please let me know to track this issue and sync nDisplay/Unreal instances.

Thank you!