I have a server-client setup where each client has a number of screens attached, and the screens together form the display. As such, the visuals displayed by each client needs to be roughly in sync. Luckily the domain is not high speed, so I don't have to have them all perfectly in sync, but obviously more in sync is better.

The physical network: About 10 clients need to be synced together. All clients that need to be synced are on the same gigabit LAN, latency is sub 1ms.

The network protocol: Clients are running 100ms behind real time (so there is a 100ms buffer for the server to send out updates).

The digital environment: Realistic environments moving at generally a slow speed (think rate of turn in the order of 10 degrees/minute generally, however it's possible to increase up to maybe 720 in extreme circumstances).

Requirements: There should be as little visible lag between clients as possible.

Requirements for answers: A concept is enough, pointing out the limitations or advantages to different methods would be appreciated. It would be great if it's something you've tried and had failures or successes with in the past, but spit-balling is ok too.

What a good answer would look like: "Using NTP is fine up to X ms or syncing Y clients, but if you need more accuracy than that you should look into doing Z". It doesn't need to be crazy in depth!

  • \$\begingroup\$ When you implement the simple solution (1) of each client synchronizing with a time server, do you get results that are adequate for your needs? \$\endgroup\$
    – DMGregory
    Oct 20 '20 at 6:15
  • \$\begingroup\$ Comments are not for extended discussion; this conversation has been moved to chat. \$\endgroup\$
    – DMGregory
    Oct 21 '20 at 2:24
  • \$\begingroup\$ Consulting the links in this answer, the system time in Windows for example can be synchronized to within 50 or even 1ms depending on your network setup — but this again is a detail of your specific installation that is in your hands to test but we can only guess about. This is why these quick tests are so important to understand the details of the problem space you're working within. \$\endgroup\$
    – DMGregory
    Oct 22 '20 at 12:33
  • \$\begingroup\$ @DMGregory The expected de-sync artifacts would be tearing (lines across the screen not lining up). The visuals are realistic landscapes. The domain is not high speed such as an FPS. How do I translate that into a ms timing that could be assessed as acceptable? In my opinion that is an impossible step, which is why I am struggling to find this line of inquiry useful. I feel like a more useful approach would be to suggest solutions and give their expected performance. Eg "NTP is fine to 500ms" or whatever. \$\endgroup\$
    – user141549
    Oct 23 '20 at 3:06
  • 2
    \$\begingroup\$ If you want to create a video wall (a large display from many smaller ones), then you should know that many graphic cards can do that out-of-the-box. They are usually limited to 3-6 displays, but there is some specialized hardware which can do many more. Could it be a better solution to have just one client and connect multiple monitors to it? \$\endgroup\$
    – Philipp
    Oct 26 '20 at 10:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy