首页 > 其他分享 >Unity的UnityStats: 属性详解与实用案例

Unity的UnityStats: 属性详解与实用案例

时间:2023-08-08 21:56:53浏览次数:31  
标签:Log 游戏 UnityStats Unity 详解 当前 Debug 属性

UnityStats 属性详解

UnityStats 是 Unity 引擎提供的一个用于监测游戏性能的工具,它提供了一系列的属性值,可以帮助开发者解游戏的运行情况,从而进行优化。本文将详细介绍 UnityStats 的每个属性值,并提供多个使用例子帮助开发者更好地使用 UnityStats。

帧率相关属性

UnityStats.fps

UnityStats.fps 属性用于获取当前游戏的帧率。它返回一个浮点数,表示当前游戏的帧率。例如:

void Update()
{
    float fps = UnityStats.fps;
    Debug.Log("当前帧率:" + fps);
}

UnityStats.batchedDrawCalls

UnityStats.batchedDrawCalls 属性用于获取当前游戏中批处理的绘制调用次数。它返回一个整数,表示当前游戏中批处理的绘制调用次数。例如:

void Update()
{
    int batchedDrawCalls = UnityStats.batchedDrawCalls;
    Debug.Log("批处理的绘制调用次数:" + batchedDrawCalls);
}

UnityStats.drawCalls

UnityStats.drawCalls 属性用于获取当前游戏中绘制调用次数。它返回一个整数,表示当前游戏中的绘制调用次数。例如:

void Update()
{
    int drawCalls = UnityStats.drawCalls;
    Debug.Log("绘制调用次数:" + draw);
}

UnityStats.triangles

UnityStats.triangles 属性用于获取当前游戏中的三角形数量。它返回一个整数,表示当前游戏中的三角形数量。例如:

 Update()
{
    int triangles = UnityStats.triangles;
    Debug.Log("三角形数量:" + triangles);
}

内存相关属性

UnityStats.usedTextureMemorySize

UnityStats.usedTextureMemorySize 属性用于获取当前游戏中使用的纹理内存大小。它返回一个整数,表示当前游戏中使用的纹理内存大小。例如:

void Update()
{
    int usedTextureMemorySize = UnityStats.usedTextureMemorySize;
    Debug.Log("使用的纹理内存大小:" + usedTextureMemorySize);
}

UnityStats.usedHeapSize

UnityStats.usedHeapSize 属性用于获取当前游戏中使用的堆内存大小。它返回一个整数,表示当前游戏中使用的堆内存大小。例如:

void()
{
    int usedHeapSize = UnityStats.usedHeapSize;
    Debug.Log("使用的堆内存大小:" + usedHeapSize);
}

UnityStats.usedGraphicsMemorySize

UnityStats.usedGraphicsMemorySize 属性用于获取当前游戏中使用的显存大小。它返回一个整数,表示当前游戏中使用的显存大小。例如:

void Update()
{
    int usedGraphicsMemorySize = UnityStats.usedGraphicsMemorySize;
    Debug.Log("使用的显存大小:" + usedGraphicsMemorySize);
}

物理相关属性

UnityStats.physicsUpdateTime

UnityStats.physicsUpdateTime 属性用于当前游戏中物理更新的时间。它返回一个浮点数,表示当前游戏中物理更新的时间。例如:

void Update()
{
    float physicsUpdateTIme = UnityStats.physicsUpdateTIme;
    Debug.Log("物理更新的时间:" + physicsUpdateTIme);
}

UnityStats.physicsTriggers

UnityStats.physicsTriggers 属性用于获取当前游戏中的物理触发器数量。它返回一个整数,表示当前游戏的物理触发器数量。例如:

void Update()
{
    int physicsTriggers = UnityStats.physicsTriggers;
    Debug.Log("物理触发器数量:" + physicsTriggers);
}

UnityStats.physicsColliders

UnityStats.physicsColliders 属性用于获取当前游戏中的物理碰撞器数量。它返回一个整数,表示当前游戏中的物理碰撞器数量。例如:

void Update()
{
    int physicsColliders = UnityStats.physicsColliders;
    Debug.Log("物理碰撞器数量:" + physicsColliders);
}

其他属性

UnityStats.screenRes

UnityStats.screenRes 属性用于获取当前游戏窗口的分辨率。它返回一个字符串表示当前游戏窗口的分辨率。例如:

void Update()
{
    string screenRes = UnityStats.screenRes;
    Debug.Log("游戏窗口分辨率:" + screenRes);
}

UnityStats.screenOrientation

UnityStats.screenOrientation 属性用于获取当前游戏窗口的方向。它返回一个字符串,表示当前游戏窗口的方向。例如:

void Update()
{
    string screenOrientation = UnityStats.screenOrientation;
    Debug.Log("游戏窗口方向:" + screenOrientation);
}

UnityStats.batches

UnityStats.batches 属性用于获取当前游戏中的批处理数量。它返回一个整数,表示当前游戏中的批处理数量。例如:

void Update()
{
    int batches = UnityStats.batches;
    Debug.Log("批处理数量:" + batches);
}

总结

本文详细介绍了 UnityStats每个属性值,并提供了多个使用例子,帮助开发者更好地使用 UnityStats。通过使用 UnityStats,开发者可以了解游戏的运行情况,从而进行优化,提高游戏性能。

标签:Log,游戏,UnityStats,Unity,详解,当前,Debug,属性
From: https://www.cnblogs.com/alianblank/p/17615488.html

相关文章

  • Unity 实现转换bmp为png
    .netframework的Bitmap类返回的pixel中alpha的值恒为255,因此需要自己读取对应的类。BMP格式https://en.wikipedia.org/wiki/BMP_file_format#Pixel_storage参考https://blog.csdn.net/sgs691459/article/details/111387043实现结果privatevoidConvertBmp2Png(stringp......
  • 常用注解之@PathVariable与@RequestParam详解
    @PathVariable和@RequestParam首先说一下Request了解一下请求参数是什么在访问各种各样网站时,经常会发现网站的URL的最后一部分形如:?xxxx=yyyy&zzzz=wwww。这就是HTTP协议中的Request参数,它有什么用呢?先来看一个例子:在知乎中搜索web浏览器跳转到新页面后,URL变为https://www.zhih......
  • 如何用 Unity 做出一只赛博宠物(0代码新手向)
    推荐的一些学习资料unity官方文档:Unity用户手册(2019.4LTS)-Unity手册视频教程:https://www.bilibili.com/video/BV1zB4y1C7U9live2d官方文档:https://docs.live2d.com/zh-CHS/cubism-sdk-tutorials/top/https://docs.live2d.com/zh-CHS/cubism-sdk-manual/cubism-sdk-......
  • C语言学习笔记(八)指针详解
    指针详解arr[i]=*(arr+i)=*(p+i)=p[i]字符指针charp*intmain(){ charch='w'; char*pc=&ch; return0;}intmain(){ chararr[]="abcdefg"; char*pc=arr; printf("%s\n",arr); printf("%s\n",pc); ......
  • TCP/IP 详解
    第四章ARPARP为IP地址到对应的硬件地址之间提供动态映射RARP是被那些没有磁盘驱动器的系统使用(一般是无盘工作站或X终端),它需要系统管理员进行手工设置  ARP分组格式 ARP高速缓存ARP高效运行的关键是由于每个主机上都有一个ARP高速缓存。这个高速缓存存放了最近Inter......
  • 造船(并查集)思路详解
    造船题目描述:题目描述小Y想要在虚拟世界里造船。最开始m个船的完成度全部都为0。小Y第i时刻可以在a_i和b_i两艘船中选择一艘让这艘船的完成度。由于国家政府是奇数控,所以所有偶数完成度的船只都将被摧毁,小Y想知道m时刻后能剩下来的船只最多有多少艘。输入格式第一行两个......
  • json web token(jwt)详解
    1.jsonwebtoken是什么?JSONWebToken(JWT)是一个开放标准(RFC7519),它定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息。该信息可以被验证和信任,因为它是数字签名的。 2.什么时候你应该用JSONWebTokens下列场景中使用JSONWebToken是......
  • warning: /var/cache/yum/x86_64/7/mysql57-community/packages/mysql-community-comm
    问题描述在我正确地安装好mysql包之后,再安装mysql,就出现了这么一个问题:就去疯狂百度找解决问题的方法!!!问题解决经过查找资料,才发现,原来是有GPG验证检查,只需要禁止GPG验证检查就行啦!也就是在安装mysql的语句后面,加上这样一个语句:--nogpgcheck总起来就是:yum-yinstallmys......
  • 详解Jvm中时区设置方式,推荐 代码中TimeZone.getTimeZone("Asia/Shanghai") 而不使用Ti
    详解Jvm中时区设置方式原文链接:https://www.45fan.com/article.php?aid=20090934958860528675768691这篇文章memo一下Jvm中关于时区设定的基础操作。Java的时区设定这里列出如下三种方式方式说明TimeZone.setDefault方式通过java的utils下的TimeZone进行动态设定......
  • @Transactional(rollbackFor = Exception.class) 详解 推荐的事务注解方式 @Transact
    @Transactional(rollbackFor=Exception.class)详解原文链接:https://blog.csdn.net/weixin_43987718/article/details/12342262117、@Transactional(rollbackFor=Exception.class)详解1、参考来源:https://www.cnblogs.com/clwydjgs/p/9317849.html1)、异常是分为运行......