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.
I am targeting a 100ms lead time between receiving states and acting upon them, I'm operating in a LAN soThe physical network: About 10 clients need to be synced together. All clients that is plenty, packetsneed to be synced are sent out at 100Hz and interpolation is handled through a buffer which automatically selectson the right packets. So I don't have to worry about thatsame gigabit LAN, latency is sub 1ms. Visuals
The network protocol: Clients are running at 60 FPS so100ms behind real time (so there is minimal difference framea 100ms buffer for the server to framesend out updates).
Right now there are two basic solutionsThe digital environment: 1. have each client sync withRealistic environments moving at generally a time server over the internet or locally, or 2. emulate the same logicslow speed (think rate of turn in the code and do the synchronization as partorder of establishing connection. What would be the best way10 degrees/minute generally, however it's possible to synchronize time?increase up to maybe 720 in extreme circumstances).
I'm concerned that I'm running into an XY problem here assuming that synchronizing time this way is a good idea at allRequirements: There should be as little visible lag between clients as possible.
I have noticed that existing questions on this topic are about 1 server connecting to several clientsRequirements for answers: A concept is enough, each showing their own visuals. I think this problem of requiring sync between clientspointing out the limitations or advantages to maintain visual continuity is a bit different, so maybe there will methods would be different approachesappreciated. I am aware of other questions that discussIt would be great if it's something you've tried and had failures or successes with in the more common situation thoughpast, but spit-balling is ok too.
EDITWhat a good answer would look like: To clarify, tests will be run later, however I am hoping someone will have some experience with synchronization and be able"Using NTP is fine up to suggest suitable architectureX ms or share their own experiences to head off any problems down the linesyncing Y clients, but if you need more accuracy than that you should look into doing Z". Waiting until the last minuteIt doesn't need to adjust architecture is not ideal from my perspective.be crazy in depth!