dan*_*ski 5 c# mono performance unity-game-engine unity5
我需要在我用 Unity 构建的多人游戏中跟踪很多时间,以便知道数据包何时进入。在 Unity、Time.time 或 DateTime.UtcNow.Millisecond 中什么会更好?性能差异会有多少变化?
小智 4
最好自己测试一下。您是最了解您的应用程序并能够判断特定条件下最佳解决方案的人。这是一些您可以使用的简单测试脚本。它只是使用 unity/c# 方法保存当前时间戳并记录该操作所需的时间。
public class TimeTest : MonoBehaviour
{
public bool UseUnityFuntion;
private string msg;
void Update ()
{
var stopwatch = Stopwatch.StartNew();
msg = UseUnityFuntion
? Time.time.ToString()
: DateTime.UtcNow.Millisecond.ToString();
stopwatch.Stop();
UnityEngine.Debug.Log(stopwatch.ElapsedTicks);
}
void OnGUI()
{
if (msg != null) GUILayout.Label(msg);
}
}
Run Code Online (Sandbox Code Playgroud)
与大多数情况一样,这次非统一函数似乎更快。至少在我的电脑上是这样。不知道您的应用程序将如何工作,但请记住,使用毫秒值时可能会发生冲突。使用 Time.time 还有一个缺点 - 您只能在主线程中执行此操作。当您有网络应用程序时,您很有可能希望在后台线程上保存时间戳。
| 归档时间: |
|
| 查看次数: |
8167 次 |
| 最近记录: |