Unity 关于时间

一、引言

   本篇博客 包括:unity中帧的耗时,时间缩放比例,常用日期时间的获取和计算,测试一段程序的耗时。

 


二、帧时间

名称

描述

Time.time

(只读)表示从游戏开发到现在的时间,会随着游戏的暂停而停止计算。

Time.realtimeSinceStartup

(只读)表示从游戏开发到现在的时间,不会随着游戏的暂停而停止计算。

Time.timeSinceLevelLoad

(只读)表示从当前Scene开始到目前为止的时间,也会随着暂停操作而停止。

 Time.fixedTime

(只读)表示以秒为单位游戏开始的时间。时间间隔为fixedDeltaTime。来统计游戏总时长。
Time.deltaTime (只读)表示从上一帧到当前帧时间,以秒为单位。即Updata中每帧的间隔时间。实际情况视机器性能而定。
Time.fixedDeltaTime (读写)表示以秒计间隔,在物理和其他固定帧率进行更新,在Edit->ProjectSettings->Time的Fixed Timestep可以自行设置。即FixedUpdate中每帧的间隔时间。可以手动设置为固定值。
Time.timeScale (读写)时间缩放,默认值为1。若设置<1,表示时间减慢;若设置>1,表示时间加快;若设置=0,则游戏暂停。可以用来加速、减速和暂停游戏,非常有用。总之timeScale和 Time.time息息相关。
Time.frameCount (只读)总帧数

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 三、日期时间

日期等时间的类,是DateTime。包含 当前时间,年月日时分秒等。

using System;

DateTime dt;

 

名称

描述

样例

此刻时间:
DateTime .Now (只读)获得当前时间。 类型:DateTime  DateTime dt = DateTime.Now;    dt: 9/19/2018 7:43:51 PM 
年月日时分秒:
dt.Year (只读)当前年份。 类型:int int year = dt.Year;    year:2018
dt.Month (只读)当前月份。 类型:int 同上
dt.Day (只读)当前日。 类型:int 同上
dt.Hour (只读)当前小时。 类型:int 同上
dt.Minute (只读)当前分钟。 类型:int 同上
dt.Second (只读)当前秒。 类型:int 同上
dt.Millisecond  (只读)当前毫秒。 类型:int 同上   1秒 = 1000 毫秒
dt.Ticks (只读)当前tick。 类型:long 同上   1毫秒 = 10000 ticks
格式转换:
ToString()

将时间数据 由DateTime类型

转换为 string类型

dt .ToString();       dt:"9/19/2018 7:43:51 PM"

增加变量:

AddYears(int value); 增加 年份 DateTime dt2 = dt.AddYears(1);  dt2: 9/19/2019 7:43:51 PM
AddMonths(int months); 增加 月份 同上
AddDays(double value); 增加 日 同上
AddHours(double value); 增加 小时 同上
AddMinutes(double value); 增加 分钟 同上
AddSeconds(double value); 增加 秒 同上
   比较和运算:
DateTime +(DateTime d, TimeSpan t);  时间 + 某一时间段  
DateTime -(DateTime d, TimeSpan t);  时间 - 某一时间段  
TimeSpan -(DateTime d1, DateTime d2);  时间  - 时间 两个时间点的差值
==、!=、>、<、>=、<= 两个时间的比较。 类型:bool  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 四、程序运行时间段

 在程序运行前、运行后 分别打上时间戳,然后计算时间差 即某段程序 或者 函数 运行的耗时

代码:[ 

DateTime n1 = DateTime.Now;
DOFun();
DateTime n2 = DateTime.Now;

TimeSpan sp = n2 - n1;
long ticks =  sp.Ticks;

 ]

1 毫秒 = 10000 ticks,足够满足时间精度了。

 

posted @ 2018-09-12 22:34  激情1995  阅读(854)  评论(0编辑  收藏  举报