Unity3D教程:如何获取某个方法执行的时间
来源:互联网 发布:matlab矩阵求交集 编辑:程序博客网 时间:2024/05/16 10:07
原文链接:http://gad.qq.com/article/detail/7191163
如何获取某个方法执行的时间?考虑到有些场景需要这个功能,但鉴于有些开发者还不会,下面就给大家介绍下获取的方法,一起来看看吧。
想在一帧内获取某个方法的总执行时间,开始想用Time.time减去之前保存的时间。但是发现在一帧内永远返回的是0,多帧的话可以,看来Time.time只会在每一帧赋值更新一次,所以一帧内的就取不到了。
然后查了一下c#有一个Stopwatch的类可以帮我们记录时间,使用起来也挺便利的。
using UnityEngine;using System.Collections;using System.Diagnostics; public class NewBehaviourScript : MonoBehaviour { void Start () { float t = Time.time; TestMethod(); UnityEngine.Debug.Log(string.Format("total: {0} ms",Time.time - t)); Stopwatch sw = new Stopwatch(); 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毫秒数即可。当然也可以用 Profiler.BeginSample 和Profiler.EndSample 但是就是要打开Profiler界面找到那一帧就可以看了。
0 0
- Unity3D教程:如何获取某个方法执行的时间
- Unity3D教程 之 如何获取某个方法执行的时间
- Unity3D研究院之获取某个方法执行的时间
- Unity3D之获取某个方法执行的时间
- unity获取某个方法执行的时间
- 获取某个方法执行的时间
- [Unity&C#]获取某个方法执行的时间
- 如何获取某个sql语句的执行计划---方法一
- 在Unity3D中获取某个方法的执行时间
- 如何获取某个sql语句的执行计划系列二
- 一定时间间隔执行某个方法
- 获取线程中某个函数执行完成所获得的CPU时间量
- php获取某个日期0点的时间戳和24点时间戳的方法
- sqlserver中获取执行sql语句时间的方法
- 如何获取某个sql语句的执行计划系列三---格式化trace 文件
- JAVA获取某个时区的时间
- C# 给某个方法设定执行超时时间
- performSelector调度一个方法在以后某个时间执行
- 工厂模式-D- 抽象工厂模式
- 413 Request Entity Too Large(nginx)
- sitemesh简介
- java提高篇(一)-----理解java的三大特性之封装
- Maven较完整教程
- Unity3D教程:如何获取某个方法执行的时间
- Java反射在JVM的实现
- .net clickonce 拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED))
- 拓扑排序
- phpredis扩展安装
- HPUOJ---2017寒假作业--专题0/C-开门人和关门人
- JAVAWEB开发之分页显示、批量删除、条件查询 以及Listener监听器
- 二维数组---矩阵转置
- openfire不丢包插件开发