Profiler

class in UnityEngine.Profiling

切换到手册

描述

通过脚本控制 Profiler。

您可以使用 Profiler.BeginSample 和 Profiler.EndSample 在脚本中添加自定义性能分析器部分。

在独立平台上,您可以将所有性能分析信息保存到文件中,以便稍后进行检查。为此,您必须指定 Profiler.logFile 并将 Profiler.enabled 和 Profiler.enableBinaryLog 都设置为 true。

由于使用性能分析器会对应用程序的性能产生负面影响,因此大多数性能分析器 API 功能仅在启用了“Development Build”时才可用。这意味着如果要在构建的应用程序中使用性能分析器 API 方法,则必须启用“Developer Build”。禁用“Development Build”会使您的应用程序运行更快,但会阻止您使用大多数性能分析器 API 方法。

例外情况是与内存使用相关的性能分析器 API 方法。由于 Unity 在运行时管理其大部分系统内存,可以在不降低性能的情况下提供该信息,因此即使未启用“Development Build”,这些方法也可用。这适用于几乎所有与内存相关的性能分析器 API 方法,但 Profiler.GetAllocatedMemoryForGraphicsDriver 和 Profiler.GetRuntimeMemorySizeLong 除外,因为后两者需要额外的性能分析数据,而这些数据仅在开发版中提供。

静态变量

areaCount您可以进行性能分析的性能分析器区域数量。
enableAllocationCallstacks启用托管分配的调用栈的记录。
enableBinaryLog启用将性能分析数据记录到文件中的功能。
enabled启用性能分析器。
logFile指定写入性能分析数据时要使用的文件。
maxUsedMemory设置性能分析器用于缓冲数据的最大内存量。该属性以字节为单位来表示。
usedHeapSizeLong返回 Unity 已分配的字节数。这不包括外部库或驱动程序分配的字节。

静态函数

AddFramesFromFile显示性能分析器中记录的性能分析数据。
BeginSample开始使用自定义标签分析一段代码。
BeginThreadProfiling在调用此方法的线程上启用性能分析。
EmitFrameMetaData将与当前帧关联的元数据写入性能分析器流。
EndSample结束当前的性能分析样本。
EndThreadProfiling释放性能分析器用于线程的内部资源。
GetAllocatedMemoryForGraphicsDriver返回为图形驱动程序分配的内存大小(以字节为单位)。仅适用于开发版本的播放器和编辑器。
GetAreaEnabled返回的结果表明当前是否启用了某个给定的 ProfilerArea。
GetMonoHeapSizeLong返回托管内存的预留空间大小。
GetMonoUsedSizeLong活动对象和非收集对象的已分配托管内存。
GetRuntimeMemorySizeLong收集 Unity 对象使用的本机内存。
GetTempAllocatorSize返回临时分配器的大小。
GetTotalAllocatedMemoryLongUnity 中的内部分配器分配的内存总量。Unity 在系统中预留了大型内存池。此函数将返回这些池中使用的内存量。
GetTotalReservedMemoryLongUnity 预留的总内存。
GetTotalUnusedReservedMemoryLong当 Unity 需要分配内存时,Unity 会在池中分配内存以供使用。此函数返回这些池中未使用的内存量。
SetAreaEnabled启用或禁用某个给定的 ProfilerArea。
SetTempAllocatorRequestedSize设置临时分配器的大小。