如何实现精确的时间计数器(毫秒精度)

时间:2015-01-10 18:30:55

标签: c# multithreading timer unity3d

抱歉我的英文。

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

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

中确信了这一点

此外,我试图在其他线程中计算时间,但此代码时间错误(我尝试了TICK_TIME 1和5)

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

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

1 个答案:

答案 0 :(得分:0)

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);