中央处理器使用率分析器
cpu使用率分析器显示游戏中的时间使用情况。选择此选项时,下部面板将显示所选帧的分层时间数据。有关事件探查器时间线的更多信息,请参见事件探查器窗口的文档。
层次模式:显示层次时间数据。
组层次模式:将时间数据分成逻辑组(如渲染、物理、脚本)。由于任何组的子组也可以位于不同的组中(例如,一些脚本也可以调用渲染函数),组时间的百分比通常总计超过100%。
上下拖动图表标签,重新排列中央处理器图表的堆叠。
选择项目当您在下方面板中选择一个项目时,它对cpu图表的贡献将突出显示(其余部分将变暗)。再次单击某个项目会取消选择该项目。
渲染。选择了opaquegeometry,其贡献在图表中突出显示。在分层时间数据中,__self__列表示在特定函数中花费的时间,不包括调用子函数所花费的时间。在上面的截图中,41.1%的时间花在了相机上。渲染功能。这个函数做了很多工作,并调用各种绘制和剔除函数。排除所有这些功能,只有2.1%的时间花在相机上。渲染函数本身。
“时间毫秒”和“自身毫秒”列显示相同的信息,但以毫秒为单位。摄像机。渲染需要0.01毫秒,但包括它调用的所有函数在内,总共需要0.21毫秒。gc alloc列显示当前帧中分配的内存量以及垃圾收集器稍后收集的内存量。将该值保持为零可以防止垃圾收集器导致帧速率不稳定。
中央处理器性能分析器的其他部分记录不属于渲染、脚本、物理、垃圾收集或虚拟同步的所有方面的总和。这部分包括动画,人工智能,音频,粒子,网络,加载和播放循环。
以下描述简要介绍了各种高级物理分析器标签的含义。
物理学。模拟:从fixedupdate调用。通过指示物理引擎(physx)运行其模拟来更新物理系统的当前状态。
物理学。处理:从fixedupdate调用。处理所有非布料的物理操作。展开此标签以显示物理引擎内部完成的工作的低级细节。
物理学。处理布:从fixedupdate调用。处理所有布料的物理工作。扩展这个标签将显示在物理引擎内部完成的工作的底层细节。
物理学。fetchresults:从fixedupdate调用。从物理引擎收集物理模拟结果。
物理学。updatebodies:从fixedupdate调用。更新所有物理实体的位置和旋转,并发送描述这些更新的消息。
物理学。processreports:从fixedupdate调用。这个阶段在物理修复之后运行,并负责处理响应模拟结果的所有不同阶段。更新联系人、关节损伤和触发器,并发送相关消息。包括四个不同的子阶段:
物理学。triggerenterexits:从fixedupdate调用。处理控制输入和控制退出事件。
物理学。触发器停留:从fixedupdate调用。处理控件停留事件。
物理学。联系人:从fixedupdate调用。处理肿瘤事件、肿生存在轮回世界最新章节瘤退出和肿瘤停留事件。
物理学。jointbreaks:从fixedupdate调用。处理与断裂关节相关的更新和消息。
物理学。更新布:从更新调用。与布料及其皮肤网格相关的更新。
物理学。插值:从更新中调用。这个阶段处理所有物理对象的位置和旋转的插值。
性能警告中央处理器性能分析器可以检测和警告一些常见的性能问题。查看中央处理器使用情况时,这些问题将显示在下面板的警告列中。
最好看的穿越小说性能分析器警告表明,移动的静态冲击器可以检测到特定的问题,包括:
刚体。设置运动学[为刚体重新创建非凸网格碰撞器]
动画。destroyaminalisp[触发器重建内部状态]
动画。添加剪辑[触发器重建内部状态]
动画。移除剪辑[触发重建内部状态]
动画。克隆[触发重建内部状态]
动画。停用[触发重建内部状态]
在上面的截图中,性能分析器显示了静态碰撞器。移动警告。“警告”列显示此警告在当前帧中已被触发12次。术语“延迟成本”意味着,尽管性能分析器中的条目可能显示低成本(在本例中为0.00毫秒),但此操作可能会触发更多操作,从而在将来消耗系统资源。
本机内存性能分析本机内存性能分析允许您分析unity本机内存管理系统中的活动,并评估对运行时性能的影响。当在unity的内存管理中搜索不必要的或资源密集型的分配模式时,这个分析功能非常有用。
要分析unity的本机内存管理,您必须记录内存情况。要访问本机内存记录模式(在unity中称为内存记录),请选择窗口_ _ >;事件探查器打开事件探查器窗口。选择“cpu使用率分析器”(如果不可见,请单击添加分析器>:cpu__),然后选择“分析器”下的下拉菜单。接下来,单击时间线__并选择记忆记录。
选择录制模式选项功能对性能影响
无:禁用模式。这是默认选择。(无)
仅示例:记录内存分配、重新分配、解除分配、活动类型和系统。(低)
调用堆栈(快速)此选项的功能仅与示例相同,但也记录来自本地分发站点的快捷调用堆栈(调用堆栈从本地符号转换为脚本符号)。事实上,您最多只能看到最深的脚本符号的调用堆栈。(中间)
callstack(完整)此选项仅具有与示例相同的功能,但也记录了完整的脚本到本机转换和本机到脚本转换的调用堆栈。(高)
注意:当活动性能分析器仅连接到独立平台播放器时,仅支持低影响样本模式。
记录的内存分配示例在探查器窗口中以鲜红色显示。
内存分配示例单击内存记录旁边的高细节按钮,启用高细节模式。选择一个样本以显示分配类型和系统。如果为选定的分配样本记录了调用堆栈,则相关的调用堆栈符号也会被解析和显示:
记忆记录用于高细节模式
__mem record__函数在许多情况下都很有用。例如:
了解系统何时进行大量小的分配,而不仅仅是少量的大分配。
了解工作线程何时意外分配内存(例如,意外使用memlabel)。
寻找锁争用(当多个线程试图同时访问本机内存系统时)。
找到内存碎片的来源(尤其是内存不足的设备)。
时间线的高细节视图中央处理器使用率分析器时间线的高细节视图为统一中央处理器使用率分析器记录的每个样本提供至少一个宽度像素。
这允许您查看框架中所有活动的完整概述,包括短期活动,如线程同步或内存分配。
要启用高详细信息视图,请选择窗口>:探查器打开探查器窗口。选择“中央处理器使用率分析器”(如果不可见,请单击添加分析器>:中央处理器__),然后选择“分析器”下的下拉菜单,然后单击“时间线__”和“高度详细信息”。
高细节的比较
以下两幅图显示了“cpu使用率分析器时间线”的高细节视图和普通视图之间的差异。
高细节视图高细节视图普通视图普通视图
文章来源:www.atolchina.com