Unity3D研究院之获取某个方法执行的时间
来源:互联网 发布:淘宝人群画像分析工具 编辑:程序博客网 时间:2024/06/05 18:06
我想在一帧内获取某个方法的总执行时间。开始想用Time.time减去之前保存的时间。但是发现在一帧内永远返回的是0,多帧的话可以,看来Time.time只会在每一帧赋值更新一次,所以一帧内的就取不到了。
然后查了一下c#有一个Stopwatch的类可以帮我们记录时间,使用起来也挺便利的。。
[AppleScript] 纯文本查看复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
using UnityEngine;
using System.Collections;
using System.Diagnostics;
public classNewBehaviourScript :MonoBehaviour {
void Start () {
float t = Time.time;
TestMethod();
UnityEngine.Debug.Log(string.Format("total: {0} ms",Time.time- t));
Stopwatch sw= newStopwatch();
sw.Start();
TestMethod();
sw.Stop();
UnityEngine.Debug.Log(string.Format("total: {0} ms",sw.ElapsedMilliseconds));
Profiler.BeginSample("TestMethod");
TestMethod();
Profiler.EndSample();
}
void TestMethod()
{
for(int i=0; i < 10000000; i++)
{
}
}
}
如下图所示,Stopwatch就可以正确的取到上一个方法所消耗的时间。如果想同时测试多个方法,可以多次调用 sw.Reset(); 然后sw.Stop取ElapsedMilliseconds毫秒数即可。
- Unity3D研究院之获取某个方法执行的时间
- Unity3D之获取某个方法执行的时间
- Unity3D教程 之 如何获取某个方法执行的时间
- Unity3D教程:如何获取某个方法执行的时间
- unity获取某个方法执行的时间
- 获取某个方法执行的时间
- [Unity&C#]获取某个方法执行的时间
- Unity3D研究院之获取摄像机的视口区域
- Unity3D研究院之获取摄像机的视口区域
- (转载)Unity3D研究院之获取摄像机的视口区域
- Unity3D_IOS研究院之Unity3D调用IOS的方法(十)
- Unity3D研究院之深入理解Unity脚本的执行顺序(六十二)
- Unity3D研究院之深入理解Unity脚本的执行顺序(六十二)
- Unity3D研究院之深入理解Unity脚本的执行顺序(六十二)
- 在Unity3D中获取某个方法的执行时间
- Unity3D研究院之Assetbundle的原理
- Unity3D研究院之Assetbundle的实战
- Unity3D研究院之Assetbundle的实战
- Linux Shell系列教程之(一)Shell简介
- jQuery中的data方法只能获取不能设置值?
- maven引入依赖失败
- 发现和记录--String.Format 将指定的 String 中的每个格式项替换为相应对象的值的文本等效项
- block访问外部变量
- Unity3D研究院之获取某个方法执行的时间
- 一步步学spark之一scala函数式编程中闭包,Curry3.0
- 1248 NYOJ 海岛争霸
- docker registry http api v2(原创请注明出处)
- RecycleView嵌套ListView和gridView不显示的问题解决
- 集群部署时ehcache的diskStore的设置
- TCP/IP——TCP建立连接与释放连接
- 初次使用QT5串口类QSerialPort
- CAS 原理