一、Unity中獲取某個(gè)方法執(zhí)行的時(shí)間
Unity中獲取某個(gè)方法執(zhí)行的時(shí)間
我想在一幀內(nèi)獲取某個(gè)方法的總執(zhí)行時(shí)間。開始想用Time.time減去之前保存的時(shí)間。但是發(fā)現(xiàn)在一幀內(nèi)永遠(yuǎn)返回的是0,多幀的話可以,看來Time.time只會(huì)在每一幀賦值更新一次,所以一幀內(nèi)的就取不到了。
然后查了一下c#有一個(gè)Stopwatch的類可以幫我們記錄時(shí)間,使用起來也挺便利的。
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就可以正確的取到上一個(gè)方法所消耗的時(shí)間。如果想同時(shí)測試多個(gè)方法,可以多次調(diào)用 sw.Reset(); 然后sw.Stop取ElapsedMilliseconds毫秒數(shù)即可。
當(dāng)然也可以用 Profiler.BeginSample 和 Profiler.EndSample 但是就是要打開Profiler界面找到那一幀就可以看了。
教程名稱:Unity中獲取某個(gè)方法執(zhí)行的時(shí)間 | 語 言:中文 | 頁數(shù)/時(shí)長: 2頁 |
軟件版本: Unity | 上傳時(shí)間:2017/05/22 | 價(jià)格:¥0 |
文件格式: .rtf | 文件大小:124kb |
使用說明:
1. 本站所有資源(包括3D模型、CG教程、插件軟件、材質(zhì)貼圖、工程文件等)由設(shè)計(jì)師上傳,僅供學(xué)習(xí)、參考,請(qǐng)勿用于非法用途。
2. 本站付費(fèi)類資源第一次需有償下載,重復(fù)下載不再收費(fèi)。
3. 若出現(xiàn)3d模型類資源打不開,請(qǐng)確認(rèn)您的軟件版本是否過低。
4. 本站歡迎設(shè)計(jì)師注冊(cè)開店,上傳作品進(jìn)行交流、交易。
5. 如在使用過程中,遇到任何問題,請(qǐng)下拉頁面至評(píng)論區(qū)留言,或咨詢QQ:2353487910。
您還未登錄
全部評(píng)論: 0條