unity获取某个方法执行时间

1、Time.time

在一帧内,Time.time只会赋值更新一次,所以一帧内获取不到时间差值。

2、Stopwatch

实例可以测量一个时间间隔的运行时间,也可以测量多个时间间隔的总运行时间。调用Start方法时,开始累积运行时间计数;调用Stop方法时,结束当前时间间隔测量,并冻结累积运行时间值;调用Reset方法可以清除现有实例中的累积运行时间。通过属性ElapsedElapsedMillisecondsElapsedTicks查询运行时间值。

3、Profiler

打开Profiler界面,使用Profiler.BeginSampleProfiler.EndSample查看一帧运行时间。


void Start()
{
	float t = Time.time;
	Check();
	Debug.Log( string.Format( "total: {0} ms", Time.time - t ) );


	Stopwatch sw = new Stopwatch();
	sw.Start();
	Check();
	sw.Stop();
	Debug.Log( string.Format( "total: {0} ms", sw.ElapsedMilliseconds ) );


	Profiler.BeginSample( "TestMethod" );
	Check();
	Profiler.EndSample();
}

void Check()
{
	for( int i = 0; i < 1000000; i++ )
	{

	}
}

你可能感兴趣的:(unity,C#)