如何实现精准计时(毫秒级精度)

How to realize accurate time counter (millisecond precision)

对不起我的英语。

我在 Unity 上开发了一个客户端-服务器游戏,我需要在客户端和服务器上使用相同的时间计数器来进行同步。在服务器端 (Java) 一切正常。

在客户端上,我尝试将 Fixed Time-step 设置为 0.001 并在 FixedUpdate 上计算时间。它可以工作,但在与其他脚本的一个线程中,有时会滞后。我在这个 article

中确信了这一点

我也尝试在其他线程中计算时间,但是这段代码得到了错误的时间(我尝试了 TICK_TIME 1 和 5)

while (started)
         {
             time += TICK_TIME;
             Thread.Sleep(TICK_TIME);
         }

如何实现稳定计数器?在 Unity 中有可能吗?

http://msdn.microsoft.com/en-us/library/system.diagnostics.stopwatch%28v=vs.110%29.aspx

var watch = Stopwatch.StartNew();

//Do work

Console.WriteLine("Time elapsed: {0}", watch.ElapsedMilliseconds);