Trying to keep a server and clients in time sync is a really hard problem!
Actually, it's more or less an impossible problem in the general case as
time drift between nodes in inevitable and timing accuracy is limited by
relativity. I would look at this article
http://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time
as well as this one http://ferd.ca/beating-the-cap-theorem-checklist.html

Zach
ᐧ

On Mon, Jun 5, 2017 at 10:00 AM, RGBboy <[email protected]> wrote:

> On Safari/node setInterval does indeed exhibit the same issue so this is
> not a bug in Elms core. However Elm does have an opportunity to smooth this
> inconsistency out.
>
> What I have done so far to mitigate this issue is essentially what you
> describe. I have experimented with a couple of different solutions to find
> one that is simple to use. The implementation that I have found most simple
> so far (for the consumer) is an effects manager that uses Time.now and
> Process.sleep instead of setInterval.
>
> As for not relying on fixed interval messages, this is not something that
> my application can do. I am running a deterministic simulation on a server
> and multiple clients. In order for the clients and server to stay in sync
> they must stay close in timestep. It does have tolerance for some drift,
> however as drift increases the servers simulation gets more out of sync
> with the clients.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Elm Discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Zach Kessin
Teaching Web Developers to test code to find more bugs in less time
Skype: zachkessin
+972 54 234 3956 / +44 203 734 9790 / +1 617 778 7213

-- 
You received this message because you are subscribed to the Google Groups "Elm 
Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to