unity中检测代码执行时间

使用unity编写代码的大多数使用的都是c#,c#中可以使用特定的语句来对代码的执行效率进行检测。

检测代码如下:

using UnityEngine;
using System.Collections;

public class Test: MonoBehaviour
{
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.G))
        {
            TestExeTime();
        }
    }

    void TestExeTime()
    {
        System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();

        stopwatch.Start(); //  开始监视代码运行时间
        TestFunc();
        stopwatch.Stop(); //  停止监视

        //  获取当前实例测量得出的总时间
        System.TimeSpan timespan = stopwatch.Elapsed;
        //   double hours = timespan.TotalHours; // 总小时
        //    double minutes = timespan.TotalMinutes;  // 总分钟
        //    double seconds = timespan.TotalSeconds;  //  总秒数
        double milliseconds = timespan.TotalMilliseconds;  //  总毫秒数

        //打印代码执行时间
        Debug.Log(milliseconds);
    }

    void TestFunc()
    {
        int m = 124;
        int n = 256;
        int mn = m + n;
       Debug.Log(mn);
    }
}

运行,可得到如下结果:

将TestFunc()中的Debug.Log(mn);注释掉,再测试可得

    void TestFunc()
    {
        int m = 124;
        int n = 256;
        int mn = m + n;
       // Debug.Log(mn);
    }

时间: 03-08

unity中检测代码执行时间的相关文章

【《Effective C#》提炼总结】提高Unity中C#代码质量的22条准则

本文由@浅墨_毛星云 出品,转载请注明出处.   文章链接:http://blog.csdn.net/poem_qianmo/article/details/53869998 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 引言 我们知道,在C++领域,作为进阶阅读材料,必看的书是<Effective C++>. 而<Effective C#>之于C# ,是类似<Effective C++>之于C++一样的存在. 这篇文章,

关于Unity中如何代码动态修改天空盒

在Unity中动态修改天空盒有两种方法: 一.为每个Texture建立天空盒材质球,需要更换时直接将对应材质球作为天空盒,缺点是建立的材质球太多 private void ChangeSkybox(Material newSkybox) { RenderSettings.skybox = newSkybox; } 二.只创建一个天空盒材质球,通过修改Material的贴图Cubemap来动态替换,优点是不需要创建额外的材质球 但是使用一般的Material.mainTexture属性无法赋值Cu

(原)C++中测试代码执行时间

转载请注明出处(不过这个用法网上到处都是): http://www.cnblogs.com/darkknightzh/p/4987738.html 1 LARGE_INTEGER nFreq, nBeginTime, nEndTime; 2 QueryPerformanceFrequency(&nFreq); 3 QueryPerformanceCounter(&nBeginTime); 4 5 // code 6 7 QueryPerformanceCounter(&nEndTi

vscode中检测代码中的空白行并去除的方法【转】

按下ctrl+h键进行正则匹配:^\s*(?=\r?$)\n 然后直接替换,再看代码发现空行已经不见了. 原文地址:https://www.cnblogs.com/micenote/p/9414474.html

C#开发Unity游戏教程之Unity中方法的参数

C#开发Unity游戏教程之Unity中方法的参数 Unity的方法的参数 出现在脚本中的方法,无论是在定义的时候,还是使用的时候,后面都跟着一对括号“( )”,有意义吗?看起来最多也就是起个快速识别方法的作用吧.既然C#的语法规定方法就应该这么写,肯定是有一定道理的.如果是上升到战略意义的道理,连作者也不是很明白,但是作者知道这对括号里可以添加“参数”. Unity中参数的作用 要说明参数的作用,就必须从方法说起.方法可以处理变量中的数据,进而影响游戏对象的行为逻辑,这是本章前面一直在强调的.

在Unity中使用 luajit 64位加密

参考:https://blog.csdn.net/sun19880421/article/details/68070696 https://blog.csdn.net/mydreamremindme/article/details/51372391 总结: 1.准备 1) 下载LuaJIT源代码(64位要用 LuaJIT-2.1.0-beta3 版本) 2) 安装visual studio C++ 2.编译 1) 打开visual studio的命令行工具: 2) 用vs的命令行工具cd到lua

Unity中Mesh分解与边缘高亮加上深度检测

一个比较简单的需求,不过遇到些坑,记录下. 房间有多个模型,每个模型可能多个SubMesh,点击后,需要能具体到是那个SubMesh,并且在这个SubMesh上显示边缘高光,以及能个性这单个SubMesh对应的Material.如一个桌子的Mesh,其实有二个材质,分别对应二个SubMesh,一个桌面和一个桌脚,点击桌面后,只有这个桌面高光,而不是整个桌子,并且能单独更换这个桌面的Material. 我们知道Unity中,Mesh和Ogre一样,也是可以有多个SubMesh,每个SubMesh有

在Unity中实现动画的正反播放代码

using UnityEngine; using System.Collections; public class AnimationAntiSowing : MonoBehaviour { public static AnimationAntiSowing _initialise; void Awake() { _initialise = this; } /// <summary> /// 动画进行正反播放 /// </summary> /// <param name=&q

获取C#中方法的执行时间及其代码注入

在优化C#代码或对比某些API的效率时,通常需要测试某个方法的运行时间,可以通过DateTime来统计指定方法的执行时间,也可以使用命名空间System.Diagnostics中封装了高精度计时器QueryPerformanceCounter方法的Stopwatch类来统计指定方法的执行时间: 1.使用DateTime方法: DateTime dateTime = DateTime.Now; MyFunc(); Console.WriteLine((DateTime.Now - dateTime