博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Unity 关于时间
阅读量:4597 次
发布时间:2019-06-09

本文共 1913 字,大约阅读时间需要 6 分钟。

一、引言

   本篇博客 包括: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,足够满足时间精度了。

 

转载于:https://www.cnblogs.com/01zxs/p/9637842.html

你可能感兴趣的文章
解决Latex中Itemize距离过大的问题
查看>>
1打印沙漏
查看>>
LeetCode | Rotate List
查看>>
CodeForces - 455D
查看>>
【转】Django模糊查询
查看>>
Bugtags 创业一年总结
查看>>
UML建模原理
查看>>
[BZOJ 1083] [SCOI2005] 繁忙的都市
查看>>
图解C#的值类型,引用类型,栈,堆,ref,out
查看>>
spring5.0版本-AOP-如何实现拦截器链式调用(责任链模式)
查看>>
dht11 temperature & humidity sensor v2
查看>>
selenium 启动 IE11
查看>>
习题6.6
查看>>
系统分析与设计第三次作业
查看>>
Redis——非阻塞IO和队列
查看>>
iPad最值得期待的切实改进构想
查看>>
(转载)ERROR :“dereferencing pointer to incomplete type”是什么错误?
查看>>
jstack 堆栈日志分析
查看>>
Hystrix的一些应用和想法
查看>>
C#操作Word文件
查看>>