包含此页的版本:
不含此页的版本:
Unity 内置了分析器计数器使用 ProfilerCounter API 放置在代码中,以跟踪指标,例如游戏中生成的敌人数量。更多信息
请参阅术语表您可以使用它来收集和显示自定义指标分析器帮助您优化游戏的窗口。它显示了在游戏的各个领域花费了多少时间。例如,它可以报告渲染、动画制作或游戏逻辑所花费的时间百分比。更多信息
请参阅术语表模块。 下表概述了可用的内置分析器计数器。此信息也可通过ProfilerRecorderAPI 和 Profiler 模块编辑器中,以便您可以将它们添加到自定义 Profiler 模块中。下表包含 Unity 中可用的探查器计数器的列表:
可用的文件访问探查器计数器和发布(非开发)播放器中的可用性如下所示:
| 分析器计数器 | 描述 | 发布(非开发)播放器的可用性 |
|---|---|---|
| 文件字节读取 | 在选定帧期间,Unity 从此文件读取的信息总字节数。 | 不能利用的 |
| 写入的文件字节数 | Unity 在选定帧期间写入此文件的信息总字节数。 | 不能利用的 |
| 打开的文件句柄 | 在此帧内任何时间保持打开状态的文件句柄总数。这包括 Unity 在同一帧内打开和关闭的文件。 | 不能利用的 |
| 文件读取完成 | 在此帧内完成的文件读取数。 | 不能利用的 |
| 文件读取已启动 | 在此帧内启动的文件读取数 | 不能利用的 |
| 文件搜索 | 此帧在本地文件系统中执行的文件查找作数。文件查找作涉及搜索文件的内容。 | 不能利用的 |
| 已关闭的文件 | 此帧本地文件系统中成功关闭的文件总数。 | 不能利用的 |
| 打开的文件 | 此帧在本地文件系统中成功打开的文件总数。 | 不能利用的 |
| 飞行中的读数 | 在此帧内正在进行的读取作总数。 | 不能利用的 |
有关收集文件访问数据的更多信息,请参阅文件访问探查器模块参考。
可用的资产加载分析器计数器和发布(非开发)播放器中的可用性如下:
| 分析器计数器 | 描述 | 发布(非开发)播放器的可用性 |
|---|---|---|
| 音频读取 | 从 AsyncReadManager 请求的音频加载字节数。 | 不能利用的 |
| 实体读取 | 通过 AsyncReadManager 请求的字节数脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间修改组件属性以及以您喜欢的任何方式响应用户输入。更多信息 请参阅术语表在实体包中。 |
不能利用的 |
| 网格读取 | 从 AsyncReadManager 请求的字节数网格Unity 的主要图形基元。网格构成了 3D 世界的很大一部分。Unity 支持三角或四边形多边形网格。Nurbs、Nurms、Subdiv 表面必须转换为多边形。更多信息 请参阅术语表负荷。 |
不能利用的 |
| 其他读物 | 从未指定子系统请求的 AsyncReadManager 字节数。 | 不能利用的 |
| 脚本读取 | 通过脚本 API 从 AsyncReadManager 请求的字节数。 | 不能利用的 |
| 纹理读取 | 从 AsyncReadManager 请求的纹理加载字节数。 | 不能利用的 |
| 虚拟纹理读取 | 从 AsyncReadManager 请求的用于虚拟纹理的字节数。 | 不能利用的 |
有关收集资产数据的更多信息,请参阅资产加载分析器模块参考。
下表概述了可用的内存探查器计数器和发布(非开发)播放器中的可用性。
提示: 您可以使用Object.FindObjectsByType方法来查找特定类型的对象,然后将此信息传递给Profiler.GetRuntimeMemorySizeLong获取其内存量,然后在发布播放器中实现此信息。例如,要获取 网格体计数(Mesh Count) 或 网格体内存(Mesh Memory) 的计数器,请使用Object.FindObjectsByType<Mesh>().length然后将这些条目传递给GetRunTimeMemorySizeLong.仅使用Find及其在开发代码中的相关 API。
GetRunTimeMemorySizeLong对性能有影响,并且不会在发布版本中提供图形内存量。
| 分析器计数器 | 描述 | 发布(非开发)播放器的可用性 |
|---|---|---|
| 动画剪辑计数(AnimationClip Count) | 加载的动画剪辑的总数。 | 不能利用的 |
| 动画剪辑记忆(AnimationClip Memory) | 使用的内存加载 AnimationClips 总量(以字节为单位)。 | 不能利用的 |
| 应用已提交内存 | 根据平台作系统的已提交内存总量(以字节为单位)。 | 可用 |
| 应用常驻内存 | 根据平台作系统的常驻内存总量(以字节为单位)。 | 可用 |
| 资产计数 | 加载的资产总数。 | 不能利用的 |
| 音频保留内存 | 音频系统的估计保留内存(以字节为单位)。 | 可用 |
| 音频使用的内存 | 音频系统的估计内存使用量(以字节为单位)。 | 可用 |
| 音频剪辑计数 | 加载的 AudioClip 的总数。 | 不能利用的 |
| AudioClip 内存 | 已使用的加载内存总量 AudioClips(以字节为单位)。 | 不能利用的 |
| 游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息 请参阅术语表计数 |
中 GameObject 实例的总数场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息 请参阅术语表. |
不能利用的 |
| 在帧中分配的 GC | 所选帧中托管分配的总大小(以字节为单位)。 | 不能利用的 |
| 帧数中的 GC 分配 | 所选帧中的托管分配量。 | 不能利用的 |
| GC 保留内存 | 为托管代码保留的总堆大小(以字节为单位)。此内存是垃圾回收的。 | 可用 |
| GC 已用内存 | 托管代码使用的已用堆大小(以字节为单位)。此内存是垃圾回收的。 | 可用 |
| Gfx 预留内存 | 纹理、渲染目标、着色器 在 GPU 上运行的程序。更多信息 请参阅术语表和网格数据(以字节为单位)。 |
不能利用的 |
| Gfx 已用内存 | 驱动程序在纹理、渲染目标、着色器和网格数据上使用的估计内存量(以字节为单位)。 | 不能利用的 |
| 材料计数 | 装载物料的总数。 | 不能利用的 |
| 材质记忆 | 使用的内存加载材料总量(以字节为单位)。 | 不能利用的 |
| 网格数 | 加载的网格体总数。 | 不能利用的 |
| 网格存储器 | 使用的内存加载网格体总量(以字节为单位)。 | 不能利用的 |
| 对象计数 | 应用程序中的本机对象实例数。 | 不能利用的 |
| 物理使用内存 | 物理系统使用的内存总量(以字节为单位)。 | 不能利用的 |
| 物理保留内存(2D) | 2D 物理系统保留的内存总量(以字节为单位)。 | 不能利用的 |
| Profiler 保留内存 | 探查器功能从系统保留的内存(以字节为单位)。 | 可用 |
| 探查器已用内存 | 探查器功能使用的内存(以字节为单位)。 | 可用 |
| 场景对象计数(Scene Object Count) | 动态总数UnityEngine.Object实例。此数字包括 GameObject Count 计数器,加上组件总数,以及场景中非资产的所有内容。 |
不能利用的 |
| 系统已用内存总数 | 设备上运行的所有应用程序使用的总内存(以字节为单位)。 | 可用 |
| 系统已用内存 | 根据平台作系统的常驻内存总量(以字节为单位)。此值与“应用驻留内存”值相同。 | 可用 |
| 纹理计数(Texture Count) | 加载的纹理总数 | 不能利用的 |
| 纹理记忆 | 使用的内存加载纹理总量(以字节为单位)。 | 不能利用的 |
| 预留内存总数 | 作系统中为应用程序保留的总内存(以字节为单位)。 | 可用 |
| 已用内存总量 | 应用程序使用的总内存(以字节为单位)。 | 可用 |
| 视频保留内存 | 视频系统的估计保留内存(以字节为单位)。 | 可用 |
| 视频使用内存 | 视频系统的估计内存使用量(以字节为单位)。 | 可用 |
有关收集内存数据的更多信息,请参阅内存性能数据。
可用的物理分析器计数器和发布(非开发)播放器中的可用性如下:
| 分析器计数器 | 描述 | 发布(非开发)播放器的可用性 |
|---|---|---|
| 活动约束 | 物理系统已处理的基元约束的数量。 | 不能利用的 |
| 活动动态体 | 的数量刚体允许游戏对象受到模拟重力和其他力影响的组件。更多信息 请参阅术语表components 和 ArticulationBody未处于睡眠状态的组件。 |
不能利用的 |
| 主动运动体 | 活动运动刚体组件的数量。 | 不能利用的 |
| 关节体 | 的数量ArticulationBody场景中的组件 |
不能利用的 |
| Broadphase 补充道 | 宽相位算法添加的碰撞体总数。 | 不能利用的 |
| Broadphase 添加/删除 | 宽相位算法添加或删除的碰撞体总数。 | 不能利用的 |
| Broadphase 删除 | 宽相位算法删除的碰撞体总数。 | 不能利用的 |
| 碰撞体同步(Colliders Synced) | 与变换同步的碰撞体数量。 | 不能利用的 |
| 连续重叠 | Unity 连续使用的重叠事件数碰撞当物理引擎检测到两个游戏对象的碰撞器接触或重叠时,当至少一个游戏对象具有刚体组件并且处于运动状态时,就会发生碰撞。更多信息 请参阅术语表检测解决。 |
不能利用的 |
| 离散重叠 | Unity 离散使用的重叠事件数碰撞检测Unity 执行的自动过程,用于确定具有刚体和碰撞器组件的移动游戏对象是否与任何其他碰撞器接触。更多信息 请参阅术语表解决。 |
不能利用的 |
| 动态体 | 的数量Rigidbodycomponents 和ArticulationBody组件。 |
不能利用的 |
| 修改的重叠 | Unity 使用联系人修改 API 修改的重叠事件数。 | 不能利用的 |
| 窄相失点 | 自上一帧以来丢失的碰撞事件总数。 | 不能利用的 |
| 窄相新细节 | 自上一帧以来显示为新碰撞事件的总数。 | 不能利用的 |
| 窄相触点 | 自上一帧以来丢失或显示为新的碰撞事件的总数。 | 不能利用的 |
| 重叠 | 重叠事件的数量。重叠事件是指碰撞体相互重叠。 | 不能利用的 |
| 物理查询 | 物理查询的总量,例如光线投射和形状投射。 | 不能利用的 |
| 刚体同步(Rigidbodies Synced) | 与变换同步的刚体组件数量。 | 不能利用的 |
| 静态碰撞体 | 的数量碰撞体 用于处理对象物理碰撞的不可见形状。碰撞体不需要与对象的网格体形状完全相同 - 在游戏中,粗略的近似值通常更有效且难以区分。更多信息 请参阅术语表没有 Rigidbody 或 ArticulationBody 组件 |
不能利用的 |
| 触发器重叠 | 与触发碰撞器重叠的事件数(成对计数)。 | 不能利用的 |
有关收集物理数据的更多信息,请参阅物理分析器模块参考。
可用的2D物理分析器计数器和发布(非开发)播放器的可用性如下:
| 分析器计数器 | 描述 | 发布(非开发)播放器的可用性 |
|---|---|---|
| 添加的联系人 | 在此帧中添加的联系人数。这包括碰撞和触发触点。 | 不能利用的 |
| 沉睡的身体 | 处于睡眠状态(未唤醒)且存在于此帧中的 Rigidbody2D 的数量。 | 不能利用的 |
| 睡着的形状 | 处于睡眠状态(未唤醒)且存在于此帧中的物理形状数。 | 不能利用的 |
| 清醒的身体 | 此帧中唤醒且存在的 Rigidbody2D 的数量。 | 不能利用的 |
| 清醒的形状 | 此帧中唤醒并存在的物理形状的数量。 | 不能利用的 |
| 宽相位对 | 物理系统在此帧中处理的宽相位对数。 | 不能利用的 |
| Broadphase 更新 | 物理系统在此帧中处理的宽相位更新数。 | 不能利用的 |
| 碰撞输入 | 物理系统在此帧中调用的 OnCollisionEnter2D 回调数。 | 不能利用的 |
| 碰撞出口(Collision Exit) | 物理系统在此帧中调用的 OnCollisionExit2D 回调数。 | 不能利用的 |
| 碰撞停留 | 物理系统在此帧中调用的 OnCollisionStay2D 回调数。 | 不能利用的 |
| 连续体 | 带有Continuous碰撞检测模式。 |
不能利用的 |
| 离散体 | 带有Discrete碰撞检测模式。 |
不能利用的 |
| 动态体 | 带有Dynamic 体型定义 2D 刚体的固定行为。可以是 动态(Dynamic)(形体在模拟下移动并受重力等力的影响)、运动学(Kinematic)(形体在模拟下移动,但不受重力等力的影响)或静态(Static)(形体在模拟下不移动)。更多信息请参阅术语表存在于此框架中。 |
不能利用的 |
| 动态形状 | 同时具有的物理形状的数量Dynamic并出现在这个框架中。 |
不能利用的 |
| GetContacts 查询 | 物理系统调用此帧的联系人检索查询数。这包括查询,例如Physics2D.GetContacts,Collider2D.GetContacts和Rigidbody2D.GetContacts. |
不能利用的 |
| IsTouching 查询 | 物理系统调用此帧的接触查询数。这包括查询,例如Physics2D.IsTouching,Collider2D.IsTouching和Rigidbody2D.IsTouching. |
不能利用的 |
| 运动学形体(Kinematic Bodies) | 带有Kinematic此框架中存在的体型。 |
不能利用的 |
| 重叠查询 | 物理系统调用此帧的重叠查询数。这包括查询,例如Physics2D.OverlapPoint,Physics2D.OverlapCircle和Collider2D.OverlapCollider. |
不能利用的 |
| 粒子查询(Particle Queries) | 查询数粒子系统通过在场景中生成大量小型 2D 图像并为其设置动画来模拟流体实体(如液体、云和火焰)的组件。更多信息 请参阅术语表在此帧中调用。 |
不能利用的 |
| Raycast 查询 | 物理系统调用此帧的基于光线或线的查询数。这包括查询,例如Physics2D.Raycast和Physics2D.Linecast. |
不能利用的 |
| 已删除的联系人 | 物理系统在此帧中删除的接触数。这包括碰撞和触发触点。 | 不能利用的 |
| Shapecast 查询 | 物理系统调用此帧的形状扫描查询数。这包括查询,例如Physics2D.BoxCast,Physics2D.CircleCast和Collider2D.Cast. |
不能利用的 |
| 求解器连续岛 | 处理连续求解步骤时求解的孤岛数。 | 不能利用的 |
| 解算器离散岛 | 处理离散求解步骤时求解的接触岛数。 | 不能利用的 |
| 解算器模拟计数 | Unity 自动模拟所有物理场景的次数,或通过调用Physics2D.Simulate或PhysicsScene2D.Simulate. |
不能利用的 |
| 解算器世界计数(Solver World Count) | 此帧中存在的物理场景总数。 | 不能利用的 |
| 静态形体(Static Bodies) | 带有Static此框架中存在的体型。 |
不能利用的 |
| 静态的 | 此帧中既是静态的又存在的物理形状的数量。 | 不能利用的 |
| 总体数 | 总数Rigidbody2D存在于此框架中。 |
不能利用的 |
| 总回传 | 总数OnCollisionEnter2D,OnCollisionStay2D,OnCollisionExit2D、OnTriggerEnter2D、OnTriggerStay2D和OnTriggerExit2D物理系统在此帧中调用的回调。 |
不能利用的 |
| 联系人总数 | 此帧中存在的联系人总数。这包括碰撞和触发触点。 | 不能利用的 |
| 总关节(Joints)允许刚体组件之间进行动态连接的物理组件,通常允许一定程度的移动,例如铰链。更多信息 请参阅术语表 |
任何Joint2D存在于此框架中。 |
不能利用的 |
| 总形状 | 此帧中存在的物理形状总数。 | 不能利用的 |
| 查询总数 | 物理系统调用此帧的查询总数。这包括查询,例如Physics2D.Raycast和Physics2D.OverlapPoint
|
不能利用的 |
| 总变换同步调用 | 物理系统在此帧中调用的变换同步调用的总数。 | 不能利用的 |
| 变换父同步形体(Transform Parent Sync Bodies) | 受变换父级变换导致的变换同步影响的刚体2D数。 | 不能利用的 |
| 变换父级同步碰撞体(Transform Parent Sync Colliders) | 因重新设置变换父级而导致变换同步影响的 Collider2D 数量。 | 不能利用的 |
| 变换同步形体(Transform Sync Bodies) | 受变换同步影响的 Rigidbody2D 数量。 | 不能利用的 |
| 变换同步碰撞体(Transform Sync Colliders) | 受变换同步影响的 Collider2D 数量。 | 不能利用的 |
| 触发输入 | 在此帧中调用的 OnTriggerEnter2D 回调数。 | 不能利用的 |
| 触发退出 | 在此帧中调用的 OnTriggerExit2D 回调数。 | 不能利用的 |
| 触发停留 | 在此帧中调用的 OnTriggerStay2D 回调数。 | 不能利用的 |
有关收集2D物理数据的更多信息,请参阅2D物理分析器模块参考。
可用的渲染分析器计数器和发布(非开发)播放器中的可用性如下:
| 分析器计数器 | 描述 | 发布(非开发)播放器的可用性 |
|---|---|---|
| 批次计数 | Unity 在一帧内处理的批处理总数。此数字包括静态批次和动态批次。 | 可用 |
| CPU主线程帧时间 | 从帧开始到主线程完成其在该帧内执行的工作之间的时间。 | 启用 帧时序统计(Frame Timing Stats) 时可用。 |
| CPU渲染线程帧时间(CPU Render Thread Frame Time) | 渲染线程上的工作开始与 Unity 调用Present方法。 |
启用 帧时序统计(Frame Timing Stats) 时可用。 |
| CPU 总帧时间 | 总 CPU 帧时间。Unity 将其计算为两帧末端之间的时间,包括帧之间等待的任何开销或时间。 | 启用 帧时序统计(Frame Timing Stats) 时可用。 |
| 绘制调用计数 | Unity 在一帧内发出的绘制调用总数。 | 可用 |
| 动态批处理绘制调用计数 | Unity 合并为动态批处理的绘制调用数。 | 不能利用的 |
| 动态批处理三角形计数 | 动态批次中包含的游戏对象中的三角形数。 | 不能利用的 |
| 动态批处理顶点计数 | 动态批次中包含的游戏对象中的顶点数。 | 不能利用的 |
| 动态批次计数 | Unity 在帧期间处理的动态批次数。 | 不能利用的 |
| 动态批处理 (Dynamic Batching)一种自动 Unity 过程,它尝试将多个网格体渲染为单个网格体,以优化图形性能。该技术转换 CPU 上的所有游戏对象顶点,并将许多相似的顶点组合在一起。更多信息 请参阅术语表时间 |
Unity 创建动态批处理结构所花费的时间。 | 不能利用的 |
| GPU帧时间(GPU Frame Time) | GPU 渲染单个帧的开始和结束之间的时间差。 | 启用 帧时序统计(Frame Timing Stats) 时可用。 |
| 索引缓冲区上传(以帧字节为单位) | CPU 上传到 GPU 的几何体数量(以字节为单位)。 | 可用 |
| 索引缓冲区上传帧数 | CPU在帧中上传到GPU的几何体量。 | 可用 |
| 实例化批处理绘制调用计数 | Unity 合并到实例批处理中的绘制调用数。 | 不能利用的 |
| 实例化批处理三角形计数(Instanced Batched Triangles Count) | 实例化游戏对象中的三角形数。 | 不能利用的 |
| 实例化批处理顶点计数(Instanced Batched Vertices Count) | 实例化游戏对象中的顶点数。 | 不能利用的 |
| 实例化批次计数 | Unity 在帧期间为渲染实例化游戏对象而处理的批次数。 | 不能利用的 |
| 渲染纹理(Render Textures)一种特殊类型的纹理,在运行时创建和更新。要使用它们,请先创建一个新的渲染纹理,并指定要渲染到其中的摄像机之一。然后,你可以在材质中使用渲染纹理,就像使用常规纹理一样。更多信息 请参阅术语表字节 |
RenderTextures 使用的内存量(以字节为单位)。 | 可用 |
| 渲染纹理更改计数 | Unity 在帧期间将一个或多个 RenderTexture 设置为呈现目标的次数。 | 可用 |
| 渲染纹理计数(Render Textures Count) | 帧期间使用的 Unity 渲染纹理数量。 | 可用 |
| SetPass 调用计数 | Unity 在帧期间切换用于渲染游戏对象的着色器通道的次数。 | 可用 |
| 暗影施法者计数 | 在帧中投射阴影的游戏对象数。如果游戏对象投射多个阴影(因为多个灯光照亮它),则它每个投射的阴影都有一个条目。 | 可用 |
| 静态批处理绘制调用计数 | Unity 合并为静态批处理的绘制调用数。 | 不能利用的 |
| 静态批处理三角形计数(Static Batched Triangles Count) | 静态批次中包含的游戏对象中的三角形数。 | 不能利用的 |
| 静态批处理顶点计数(Static Batched Vertices Count) | 静态批次中包含的游戏对象中的顶点数。 | 不能利用的 |
| 静态批次计数 | Unity 在一帧内处理的静态批次数。 | 不能利用的 |
| 三角形计数 | Unity 在帧内处理的三角形数。 | 可用 |
| 已用缓冲区字节数 | 使用的内存 GPU 缓冲区量(以字节为单位)。 | 可用 |
| 已用缓冲区计数 | GPU 缓冲区的总数。这包括顶点、索引和计算缓冲区以及渲染所需的所有内部缓冲区。 | 可用 |
| 使用的纹理字节 | 纹理使用的内存量(以字节为单位)。 | 不能利用的 |
| 已用纹理计数(Used Textures Count) | 的数量纹理渲染游戏对象、精灵或 UI 元素时使用的图像。纹理通常应用于网格的表面,以提供其视觉细节。更多信息 请参阅术语表在帧期间使用的 Unity。 |
不能利用的 |
| 顶点缓冲区上传(以帧字节为单位) | CPU 上传到 GPU 的几何体数量(以字节为单位)。 | 可用 |
| 顶点缓冲区上传帧数(Frame Count) | CPU在帧中上传到GPU的几何体量。 | 可用 |
| 顶点计数(Vertices Count) | Unity 在帧期间处理的顶点数。 | 可用 |
| 显存字节数 | 应用程序中视频使用的系统内存量(以字节为单位)。 | 可用 |
| 可见蒙皮网格体计数(Visible Skinned Meshes Count) | 帧中蒙皮网格渲染器的数量。 | 可用 |
有关收集渲染数据的更多信息,请参阅渲染分析器模块参考。
可用的虚拟纹理分析器计数器和发布(非开发)播放器中的可用性如下:
| 分析器计数器 | 描述 | 发布(非开发)播放器的可用性 |
|---|---|---|
| 地图 | 虚拟纹理空间或图集的数量(最多 64 个)。 | 不能利用的 |
| 最大缓存需求(Max Cache Demand) | 所选帧中所有GPU缓存的最高缓存需求。 | 不能利用的 |
| 最大缓存Mip偏差(Max Cache Mip Bias) | 应用于具有相同纹理格式一种文件格式,用于在 3D 图形硬件(例如显卡或移动设备)实时渲染期间处理纹理。更多信息 请参阅术语表.如果此值不为零,则缓存不够大,无法容纳该格式的所有可见磁贴。mipmap 偏差越高,纹理质量越低。 |
不能利用的 |
| 缺少磁盘数据 | 应用程序需要从磁盘读取以满足所选帧的剩余数据(以字节为单位)。 | 不能利用的 |
| 缺少流媒体图块 | 屏幕上可见但不在视频内存中的磁贴数。 | 不能利用的 |
| 从磁盘读取 | Unity 在所选帧中完成的磁盘读取作的字节数。 | 不能利用的 |
| 所需图块 | 屏幕上可见的纹理图块数。这些是着色器尝试采样以渲染所选帧的图块。 | 不能利用的 |
| 总 CPU 缓存大小 | Unity 从磁盘加载纹理图块后分配给存储纹理图块的内存量。 | 不能利用的 |
| GPU缓存总大小(Total GPU Cache Size) | 虚拟纹理模块在所选帧中分配的所有GPU缓存的大小。 | 不能利用的 |
有关收集虚拟纹理数据的更多信息,请参阅虚拟纹理模块参考。